
本文系特来电智能运维团队的刘桂海撰写,发布于一个月之前的今天(2021 年 8 月 23 日),旨在记录团队部署 v2.5.0 的过程以及给社区尚未升级到 v2.5.0 的小伙伴一些参考。
2021 年 8 月 23 日,Nebula 发布了最新版本:2.5.0,正好赶上新环境部署,记录一下安装过程及遇到的坑:
一、准备工作
以下安装使用 nebula 用户,搭建集群模式,一共三台机器:192.168.0.1、192.168.0.2、192.168.0.3
1.1 安装目录
nebula 主程序、nebula-console 安装在 opt 目录
nebula-studio 安装在默认目录( usr/local/nebula-graph-studio )
nebula 的数据文件安装在 mnt/data/nebula 目录
nebula 的日志文件安装在 mnt/resource/nebula 目录
1.2 目录权限设置
将 opt 、 mnt 所有者改为 nebula 用户:
sudo chown -R nebula.nebula /optsudo chown -R nebula.nebula /mnt
二、Nebula 安装部署
2.1 下载安装包
wget https://oss-cdn.nebula-graph.com.cn/package/2.5.0/nebula-graph-2.5.0.el7.x86_64.rpm
2.2 安装 rpm 包
如果不设置安装路径,默认安装路径为 usr/local/nebula/ ,此处修改为: /opt/nebula-2.5.0
sudo rpm -ivh --prefix=/opt/nebula-2.5.0 nebula-graph-2.5.0.el7.x86_64.rpm
2.3 建立软连接
切换到 opt 目录,执行以下命令:
ln -s nebula-2.5.0 nebula
2.4 修改配置
配置文件在 opt/nebula/etc 下:

因为是生产环境,可以将其他的配置文件都删了,只保留带 .production 的配置文件,最后要把 .production 扩展名去掉,保证扩展名都是 .conf 。

2.4.1 nebula-metad.conf
主要修改点(日志文件路径、日志级别、元数据服务地址、本机 IP、数据文件路径):
# The directory to host logging files--log_dir=/mnt/resource/nebula/meta# Log level, 0, 1, 2, 3 for INFO, WARNING, ERROR, FATAL respectively--minloglevel=1# Comma separated Meta Server addresses--meta_server_addrs=192.168.0.1:9559,192.168.0.2:9559,192.168.0.3:9559 # Local IP used to identify the nebula-storaged process. # Change it to an address other than loopback if the service is distributed or # will be accessed remotely. --local_ip=192.168.0.1(每个机器设置为本机的实际IP)# Root data path, here should be only single path for metad--data_path=/mnt/data/nebula/meta
2.4.2 nebula-graphd.conf
主要修改点(日志文件路径、日志级别、元数据服务地址、本机 IP):
# The directory to host logging files--log_dir=/mnt/resource/nebula/graph# Log level, 0, 1, 2, 3 for INFO, WARNING, ERROR, FATAL respectively--minloglevel=1# Comma separated Meta Server addresses--meta_server_addrs=192.168.0.1:9559,192.168.0.2:9559,192.168.0.3:9559# Local IP used to identify the nebula-storaged process.# Change it to an address other than loopback if the service is distributed or# will be accessed remotely.--local_ip=192.168.0.1(每个机器设置为本机的实际 IP)
2.4.3 nebula-storaged.conf
主要修改点(日志文件路径、日志级别、元数据服务地址、本机 IP、数据文件路径):
# The directory to host logging files--log_dir=/mnt/resource/nebula/storage# Log level, 0, 1, 2, 3 for INFO, WARNING, ERROR, FATAL respectively--minloglevel=1# Comma separated Meta Server addresses--meta_server_addrs=192.168.0.1:9559,192.168.0.2:9559,192.168.0.3:9559# Local IP used to identify the nebula-storaged process.# Change it to an address other than loopback if the service is distributed or# will be accessed remotely.--local_ip=192.168.0.1(每个机器设置为本机的实际 IP) # Root data path. split by comma. e.g. --data_path=/disk1/path1/,/disk2/path2/ # One path per Rocksdb instance. --data_path=/mnt/data/nebula/storage
2.5 启动 Nebula
切换到每个机器的 opt/nebula/scripts 下,执行如下命令:
./nebula.service start all
2.6 查看Nebula每个服务的状态
切换到每个机器的 opt/nebula/scripts 下,执行如下命令:
./nebula.service status all
返回信息如下:

三、Nebula-Console
3.1 下载安装包
GitHub 地址:https://github.com/vesoft-inc/nebula-console/releases

3.2 拷贝到 opt/nebula/scripts 下
3.3 重命名为 nebula-console
mv nebula-console-linux-amd64-v2.5.0 nebula-console
3.4 添加可执行权限
chmod +x nebula-console

3.5 连接 Nebula
切换到 opt/nebula/scripts 下,执行如下命令:
./nebula-console -addr 127.0.0.1 -port 9669 -u root -p password

四、Nebula-Studio
4.1 依赖安装
安装 lsof、node.js,详见本文第五部分:依赖安装
4.2 下载 Nebula Studio
下载地址:https://oss-cdn.nebula-graph.com.cn/nebula-graph-studio/3.0.0/nebula-graph-studio-3.0.0-1.x86_64.rpm
4.3 通过 rpm 安装 Nebula Studio
sudo rpm -i nebula-graph-studio-3.0.0-6.x86_64.rpm
4.4 访问 Nebula Studio
在浏览器中访问:http://192.168.0.1:7001/
输入 graphd 的连接地址及用户名密码

进入Studio 界面后,可以选择 Space,默认没有 Space,需要单独创建一个

五、依赖安装
5.1 安装 lsof
因为本机已经安装过,此步省略。
5.2 安装 Node.js
5.2.1 下载 Node.js
官网下载地址:https://nodejs.org/zh-cn/download/

地址:https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.xz
5.2.2 解压 Node.js
需要分两步解压:
xz -d node-v14.17.5-linux-x64.tar.xz
tar -xf node-v14.17.5-linux-x64.tar
5.2.3 将 Node.js 拷贝到 /opt 底下
5.2.4 对 /opt 底下的 Node.js 建立软连接
ln -s node-14.17.5 node
5.2.5 将 Node.js 添加到环境变量
sudo vi /etc/profile
添加如下:
#Node Env
NODE_HOME=/opt/node
PATH=$PATH:$NODE_HOME/bin
export NODE_HOME PATH
5.2.6 使环境变量生效
source /etc/profile
5.2.7 验证 Node.js 是否可用
在命令行直接输入: node ,返回信息如下:

5.2.8 在 /usr/bin 下建立对 Node.js、npm 的软连接
ln -s /opt/node/bin/node /usr/bin/node
ln -s /opt/node/bin/npm /usr/bin/npm
六、遇到的坑
rpm 安装完后,不支持自动注册成 Linux 服务,需要手动切换到安装目录底下的 scripts 中。
通过 rpm 方式安装 nebula,支持通过 –prefix 指定安装路径,但是安装 nebula-studio 时,不支持通过 –prefix 指定安装路径。
安装 nebula-studio 时,必须得在 /usr/bin 下建立针对 Node.js、npm 的软连接,即使将 Node.js 加入到环境变量了也不认,安装脚本写的不够灵活。
Nebula 提供的 Node.js 的 安装链接,不是 Node.js 的官网链接,不够通用,建议指向 Node.js 的官网链接:(发文之前,此处链接已经更换为官方地址,感谢桂海反馈~)

nebula-storaged-listener.confg 可以不用配置,主要用于跨数据中心,暂时用不到。
虽然安装的 nebula 是集群模式,但是没有一键启动集群的方式,只能到每个机器上分别执行启动命令,不易用。

如果你在使用 Nebula Graph 过程中遇到任何问题,可以查阅《开源分布式图数据库Nebula Graph完全指南》来排查问题哟~
《开源分布式图数据库Nebula Graph完全指南》,又名:Nebula 小书,里面详细记录了图数据库以及图数据库 Nebula Graph 的知识点以及具体的用法,阅读传送门:https://docs.nebula-graph.com.cn/site/pdf/NebulaGraph-book.pdf
要来近距离和其他互联网公司交流图数据库吗?来 NUC 2021 吧~~

🙋♂️ 喜欢本文的话,来个分享、👍 赞、在看
谢谢哟^^




