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用户:
1 sudo chown -R nebula.nebula /opt 2 sudo 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 下载安装包
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.2 将Node.js拷贝到/opt底下
5.2.3 对/opt底下的node建立软连接
ln -s node-14.17.5 node
5.2.4 将node添加到环境变量
sudo vi /etc/profile
添加如下:
#Node Env
NODE_HOME=/opt/node
PATH=$PATH:$NODE_HOME/bin
export NODE_HOME PATH
5.2.5 使环境变量生效
source /etc/profile
5.2.6 验证node是否可用
在命令行直接输入:node,返回信息如下:
5.2.7 在/usr/bin下建立对node、npm的软连接
ln -s /opt/node/bin/node /usr/bin/node
ln -s /opt/node/bin/npm /usr/bin/npm
六、遇到的坑
6.1 rpm安装完后,不支持自动注册成Linux服务,需要手动切换到安装目录底下的scrpts中
6.2 通过rpm方式安装nebula,支持通过“--prefix”指定安装路径,但是安装nebula-studio时,不支持通过“--prefix”指定安装路径
6.3 安装nebula-studio时,必须得在/usr/bin下建立针对node、npm的软连接,即使将node加入到环境变量了也不认,安装脚本写的不够灵活
6.4 Nebula提供的nodejs的安装链接,不是nodejs的官网链接,不够通用,建议指向nodejs的官网链接:
跳转到如下界面:
6.5 nebula-storaged-listener.confg可以不用配置,主要用于跨数据中心,暂时用不到
6.6 虽然安装的nebula是集群模式,但是没有一键启动集群的方式,只能到每个机器上分别执行启动命令,不易用