Nebula 2.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用户:

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下:

image

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

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 下载安装包

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
image

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建立软连接

ln -s node-14.17.5 node

5.2.5 将node添加到环境变量

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是否可用

在命令行直接输入:node,返回信息如下:

image

5.2.8 在/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是集群模式,但是没有一键启动集群的方式,只能到每个机器上分别执行启动命令,不易用

6 个赞