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 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/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
在瀏覽器中訪問: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可以不用配置,主要用於跨資料中心,暫時用不到