引言
NebulaGraph 是一款开源的、分布式的、易扩展的原生图数据库,能够承载数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。
NebulaGraph Studio 是一款可以通过 Web 访问的开源图数据库可视化工具,搭配 NebulaGraph 内核使用,可提供 schema 模式管理、数据导入、编写 nGQL 查询等一站式服务。
Nebula Graph 3.3.0 编译
目前 NebulaGraph 支持 x86_64 和 aarch64,借鉴了古思为老师提供的相关资料。这块参考 https://github.com/vesoft-inc/nebula-dev-docker
详细步骤
1. 拉取镜像或构建镜像
docker pull vesoft/nebula-dev:centos7
或者根据 Dockerfile 自己构建。
docker build -f Dockerfile -t vesoft/nebula-dev:centos7 .
(我是通过这种方式生成的镜像,自动下载的有点慢,Dockerfile 就是参考资料里面 CentOS7那个)
查看结果:docker images
2. 在 ARM 机器上测试
通过参考资料 GitHub 上的 run.sh
脚本将本地目录的源码放到镜像里(nebula 源码位置 /home/gaojianda/docker/nebula
),进入到镜像。
./run.sh /home/gaojianda/docker/nebula centos7
这时我们就可以根据官网上的编译步骤进行编译了。这里可以参考对应的文档:https://docs.nebula-graph.com.cn/3.3.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code/
为了节约时间,这里先放一个截图,大家照着操作就行:
3. 接入 Jenkins
测试成功后可以把镜像打成 tar 包交给 Jenkins 管理人员,自己编写 Jenkins 触发执行后对应的编译脚本就行了。
docker save vesoft/nebula-dev:centos7 > nebula-3.3.0-arm-alpha-1.tar
Nebula Studio 3.7.0 编译**
目前 nebula-studio-3.7.0 版本及以后版本支持 ARM 架构。
注意 CMake 版本不能太低(最好大于等于 3.15),否则在 pack_Centos.sh 脚本执行 cmake 时会失败哦!
编译使用工具 | 版本 |
---|---|
npm | 6.14.18 |
node | v14.21.3 |
golang | go version go1.20.6 linux/arm64 |
cmake | cmake version 3.19.8 |
具体步骤
1. 下载源码到编译机
我们以 /home/gaojianda/
目录为例:
git clone -b release-3.7.0 https://github.com/vesoft-inc/nebula-studio.git
2. 修改文件内容
目前脚本和文件中使用的都是 x86_64 的,我们需要调整下:
nebula-studio/scripts/rpm/CMakeLists.txt
:x86_64 改为 aarch64
编译使用的 pack_CentOS.sh
脚本:x86_64 改为 aarch64
3. 找到编译脚本目录 scripts
我们需要先执行 build.sh
,然后执行 pack_CentOS.sh
,查看对应脚本信息。
build.sh
:需要将此脚本和 setEventTracking.sh
拿到 nebula-studio 目录下执行,因为里面的命令都是相对 nebula-studio 目录的。
将脚本复制后位置图:
4. 执行 build.sh 脚本,注意此时必须保证编译机器是联网状态,因为 npm install 那一步会用到。
执行完之后我们会发现多了两个目录:
5. 根据 pack_CentOS.sh 脚本内容需要构造对应的路径。
我们把 DIR 路径设置为 /home/gaojianda/package-studio
:
mkdir -p /home/gaojianda/package-studio
根据脚本中 STUDIO=$DIR/source/nebula-graph-studio
需要在 /home/gaojianda/package-studio
目录下创建 source 目录,并将 nebula-studio 改名为 nebula-graph-studio 移动 到 /home/gaojianda/package-studio/source
目录,并且需要把 pack_CentOS.sh
放到 /home/gaojianda/package-studio
。
最后的编译打包目录结构为如下图:
6. 执行pack_CentOS.sh
7. 查看结果
8. 部署验证
部署在 aarch64 上:
结论
通过按照本指南的步骤,您将成功在 ARM 架构上构建 Nebula Graph 3.3.0 和 Nebula Studio 3.7.0。初学者的尝试,希望大佬们多多指正。
本文正在参加 NebulaGraph 技术社区年度征文活动,征文详情:https://discuss.nebula-graph.com.cn/t/topic/13970
如果你觉得本文对你有所启发,记得给我点个 ,谢谢你的鼓励