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