NebulaGraph 3.8 ARM64 编译部署
适用于:飞腾 FT-2000+ / 鲲鹏 等 ARM64 CPU + 麒麟/CentOS 系统
第一部分:编译机器准备
1.1 检查系统架构
uname -m
# 输出应该是:aarch64
1.2 安装 Docker
yum install -y docker
systemctl start docker
systemctl enable docker
docker --version
1.3 安装 Git
yum install -y git
第二部分:下载源码
2.1 创建工作目录
mkdir -p /opt/nebula-build
cd /opt/nebula-build
2.2 克隆 NebulaGraph 3.8 源码
git clone --branch release-3.8 https://github.com/vesoft-inc/nebula.git
2.3 确认源码下载成功
ls -la nebula/
# 应该能看到 CMakeLists.txt、src 等目录
第三部分:拉取编译镜像
3.1 拉取官方编译镜像
docker pull vesoft/nebula-dev:centos7
# 如果拉取失败或不支持 ARM64,尝试 Ubuntu 版本:
# docker pull vesoft/nebula-dev:ubuntu2004
3.2 确认镜像拉取成功
docker images | grep nebula-dev
第四部分:启动编译容器
4.1 创建安装目录
mkdir -p /opt/nebula-install
4.2 启动容器
docker run -ti \
--security-opt seccomp=unconfined \
-v /opt/nebula-build/nebula:/home/nebula \
-v /opt/nebula-install:/opt/nebula-install \
-w /home/nebula \
--name nebula_build \
vesoft/nebula-dev:centos7 \
bash
参数说明:
| 参数 | 说明 |
|---|---|
--security-opt seccomp=unconfined |
避免编译时被 kill |
-v /opt/nebula-build/nebula:/home/nebula |
挂载源码目录 |
-v /opt/nebula-install:/opt/nebula-install |
挂载安装目录 |
--name nebula_build |
容器名称 |
第五部分:容器内编译
以下命令在容器内执行
5.1 进入源码目录
cd /home/nebula
5.2 创建 build 目录
mkdir -p build
cd build
5.3 CMake 配置
cmake -DCMAKE_CXX_COMPILER=$TOOLSET_CLANG_DIR/bin/g++ \
-DCMAKE_C_COMPILER=$TOOLSET_CLANG_DIR/bin/gcc \
-DENABLE_WERROR=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX=/opt/nebula-install \
..
5.4 开始编译
# 12 核用 10 线程,预计 1-2 小时
make -j10
5.5 安装
make install
5.6 确认安装成功
ls -la /opt/nebula-install/
# 应该能看到 bin、etc、lib、lib64、scripts 等目录
5.7 退出容器
exit
第六部分:打包
6.1 确认文件已同步
ls -la /opt/nebula-install/
6.2 打包成 tar.gz
cd /opt
tar -czvf nebula-3.8-arm64.tar.gz nebula-install/
6.3 查看包大小
ls -lh nebula-3.8-arm64.tar.gz
# 大约 200-500MB
6.4 复制到 U 盘
# 假设 U 盘挂载在 /mnt/usb
cp nebula-3.8-arm64.tar.gz /mnt/usb/
第七部分:其他机器部署
在另外两台 ARM64 机器上执行
7.1 从 U 盘复制安装包
cp /mnt/usb/nebula-3.8-arm64.tar.gz /opt/
7.2 解压
cd /opt
tar -xzvf nebula-3.8-arm64.tar.gz
7.3 重命名目录(可选)
mv nebula-install nebula
7.4 配置环境变量
echo 'export PATH=/opt/nebula/bin:$PATH' >> /etc/profile
source /etc/profile
7.5 验证安装
nebula-graphd --version
nebula-storaged --version
nebula-metad --version
第八部分:集群配置(3 节点)
8.0 节点规划
| 节点 | IP | 角色 |
|---|---|---|
| 节点1 | 192.168.1.101 | Meta + Storage + Graph |
| 节点2 | 192.168.1.102 | Meta + Storage + Graph |
| 节点3 | 192.168.1.103 | Meta + Storage + Graph |
8.1 修改 Meta 配置
三台机器都要修改 /opt/nebula/etc/nebula-metad.conf:
--meta_server_addrs=192.168.1.101:9559,192.168.1.102:9559,192.168.1.103:9559
--local_ip=本机IP
--data_path=/opt/nebula/data/meta
8.2 修改 Storage 配置
三台机器都要修改 /opt/nebula/etc/nebula-storaged.conf:
--meta_server_addrs=192.168.1.101:9559,192.168.1.102:9559,192.168.1.103:9559
--local_ip=本机IP
--data_path=/opt/nebula/data/storage
8.3 修改 Graph 配置
三台机器都要修改 /opt/nebula/etc/nebula-graphd.conf:
--meta_server_addrs=192.168.1.101:9559,192.168.1.102:9559,192.168.1.103:9559
--local_ip=本机IP
8.4 创建数据目录
mkdir -p /opt/nebula/data/meta
mkdir -p /opt/nebula/data/storage
8.5 启动服务(按顺序)
# 1. 先启动所有 Meta 服务(三台机器都执行)
/opt/nebula/scripts/nebula.service start metad
sleep 10
# 2. 再启动所有 Storage 服务(三台机器都执行)
/opt/nebula/scripts/nebula.service start storaged
sleep 10
# 3. 最后启动所有 Graph 服务(三台机器都执行)
/opt/nebula/scripts/nebula.service start graphd
8.6 检查服务状态
/opt/nebula/scripts/nebula.service status all
第九部分:验证集群
9.1 连接集群
/opt/nebula/bin/nebula-console -addr 192.168.1.101 -port 9669 -u root -p nebula
9.2 检查集群状态
SHOW HOSTS;
SHOW SPACES;
如果能看到 3 个 host,说明集群部署成功。