Nebula 2.5.0安裝過程及遇到的坑

2021年8月23日,Nebula 發佈了最新版本:2.5.0,正好趕上新環境部署,記錄一下安裝過程及遇到的坑:

一、準備工作

以下安裝使用nebula用戶,搭建集群模式,一共三台機器:192.168.0.1、192.168.0.2、192.168.0.3

nebula主程序、nebula-console安裝在/opt目錄

nebula-studio安裝在默認目錄(/usr/local/nebula-graph-studio)

nebula的數據文件安裝在/mnt/data/nebula目錄

nebula的日誌文件安裝在/mnt/resource/nebula目錄

將/opt、/mnt所有者改為nebula用戶:

1 sudo chown -R nebula.nebula /opt
2 sudo chown -R nebula.nebula /mnt

 

二、Nebula

2.1 下載安裝包

wget //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.com/vesoft-inc/nebula-console/releases

 

 

3.2 拷貝到/opt/nebula/scrpts下

 

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/scrpts下,執行如下命令:

./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

在瀏覽器中訪問://192.168.0.1:7001/

輸入graphd的鏈接地址及用戶名密碼

 

進入studio潔面後,可以選擇Space,默認沒有Space,需要單獨創建一個

 

 五、依賴安裝

5.1 安裝lsof

     已經安裝過,此步省略。

5.2 安裝Node.js

 5.2.1 下載Node.js

 官網下載地址://nodejs.org/zh-cn/download/

 

 

//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可以不用配置,主要用於跨數據中心,暫時用不到