安裝centos7
在 https://hub.docker.com/_/centos?tab=tags 選擇你需要安裝的centos版本,我選擇的是 7.9.2009 版本。
% docker pull centos:centos7.9.2009
centos7.9.2009: Pulling from library/centos
2d473b07cdd5: Pull complete
Digest: sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987
Status: Downloaded newer image for centos:centos7.9.2009
docker.io/library/centos:centos7.9.2009
## 查看本地鏡像
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos centos7.9.2009 eeb6ee3f44bd 2 months ago 204MB
...
啟動、配置 centos7.9.2009鏡像
## 啟動鏡像
% docker run --privileged=true -it centos:centos7.9.2009
## 安裝必須軟件
yum update
yum install wget
yum install vim
yum install iproute
yum install net-tools
yum install firewalld
注意: Centos 7 使用命令 ip addr 查看IP地址。
保存鏡像
## 在未退出來之前,另開一個窗口,看正在運營的容器ID:
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5a1a1bdde079 centos:centos7.9.2009 "/bin/bash" 21 seconds ago Up 20 seconds infallible_mahavira
## 保存這個容器
% docker commit 5a1a1bdde079 centos:ng
sha256:2e6886deadfba545e3e07bbe340d96dc3ed42a32f3566f281b4f5a5326c9c0cd
docker commit :從容器創建一個新的鏡像。
docker commit [選項] <容器ID或容器名> [<倉庫名>[:<標簽>]]
下載及安裝 Nebula Graph
## 下載
wget https://oss-cdn.nebula-graph.com.cn/package/2.6.1/nebula-graph-2.6.1.el7.x86_64.rpm
wget https://oss-cdn.nebula-graph.com.cn/package/2.6.1/nebula-graph-2.6.1.el7.x86_64.rpm.sha256sum.txt
## 安裝
sudo rpm -ivh nebula-graph-2.6.1.el7.x86_64.rpm
如果不設置安裝路徑,默認安裝路徑為/usr/local/nebula/。
啟動 Nebula Graph 服務
# /usr/local/nebula/scripts/nebula.service start all
[INFO] Starting nebula-metad...
[INFO] Done
[INFO] Starting nebula-graphd...
[INFO] Done
[INFO] Starting nebula-storaged...
[INFO] Done
參考官方文檔: https://docs.nebula-graph.com.cn/2.6.1/4.deployment-and-installation/manage-service/
請勿使用kill -9 命令強制終止進程,否則可能較小概率出現數據丟失。
停止 Nebula Graph 服務
$ sudo /usr/local/nebula/scripts/nebula.service stop all
[INFO] Stopping nebula-metad...
[INFO] Done
[INFO] Stopping nebula-graphd...
[INFO] Done
[INFO] Stopping nebula-storaged...
[INFO] Done
查看服務狀態
$ sudo /usr/local/nebula/scripts/nebula.service status all
[INFO] nebula-metad(de03025): Running as 634, Listening on 9559
[INFO] nebula-graphd(de03025): Running as 707, Listening on 9669
[INFO] nebula-storaged(de03025): Running as 741, Listening on 9779
Nebula Graph 服務由 Meta 服務、Graph 服務和 Storage 服務共同提供,這三種服務的配置文件都保存在安裝目錄的etc目錄內,默認路徑為/usr/local/nebula/etc/,用戶可以檢查相應的配置文件排查問題。
安裝 Node.js
https://nodejs.org/zh-cn/download/
## 安裝lsof命令
yum install lsof
wget https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-x64.tar.xz
##
tar --strip-components 1 -xvf ./node-v16.13.1-linux-x64.tar.xz -C /usr/local
## 測試安裝
# node -v
v16.13.1
## node 及 npm 命令需要安裝在 /usr/bin/目錄下,以防出現 RPM 安裝時 node 命令找不到的情況。 例如 nodejs12 默認目錄為/opt/rh/rh-nodejs12,用戶可以使用以下命令建立軟連接:
$ sudo ln -s /opt/rh/rh-nodejs12/root/usr/bin/node /usr/bin/node
$ sudo ln -s /opt/rh/rh-nodejs12/root/usr/bin/npm /usr/bin/npm
解壓縮時報
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
可以看
https://blog.csdn.net/weixin_37657720/article/details/81117871
解決方案。
tar包壓縮的時候用cvf參數,解壓的時候用xvf參數
或壓縮的時候用czvf參數,解壓的時候用xzvf參數
安裝及使用 Nebula Console
# 通過console連接命令:
# ./nebula-console -addr=127.0.0.1 -port=9669 -u=root -p=dds
Welcome to Nebula Graph!
# 加載測試數據集
nebula> :play nba
https://docs.nebula-graph.com.cn/2.6.1/2.quick-start/3.connect-to-nebula-graph/#_3
安裝 nebula graph studio
# wget https://oss-cdn.nebula-graph.com.cn/nebula-graph-studio/3.1.0/nebula-graph-studio-3.1.0.x86_64.rpm
$ sudo rpm -i nebula-graph-studio-3.1.0.x86_64.rpm
# 當看到表示 PRM 版 Studio 已經成功啟動。
egg started on http://0.0.0.0:7001
nohup:把輸出追加到"nohup.out"
# 手動啟動服務
# bash /usr/local/nebula-graph-studio/scripts/rpm/start.sh
# 手動停止服務
$ bash /usr/local/nebula-graph-studio/scripts/rpm/stop.sh
https://www.bookstack.cn/read/Nebula-Graph-Database-2.5.1-zh/526e79620d1f79f1.md?wd=Cloud%20Studio
把docker上服務的端口暴露出來。
# -p : 是容器內部端口綁定到指定的主機端口。
% docker run --privileged=true -it -p 7001:7001 centos:ng
% docker run --privileged=true -it -p 7001:7001 -p 9669:9669 centos:ng
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
65f1878eb9c3 centos:ng "/bin/bash" 15 minutes ago Up 15 minutes 0.0.0.0:7001->7001/tcp confident_lovelace
- https://yeasy.gitbook.io/docker_practice/network/port_mapping
- https://www.runoob.com/docker/docker-container-connection.html
完成端口映射后,就可以在docker宿主機上訪問docker容器的端口。
在host文件中我們有這樣的
127.0.0.1 kubernetes.docker.internal
我們最終使用就可以用 http://kubernetes.docker.internal:7001/ 來使用。
使用流程
# 啟動容器
% docker run --privileged=true -it -p 7001:7001 -p 9669:9669 centos:ng
# 啟動nebula服務
/usr/local/nebula/scripts/nebula.service start all
/usr/local/nebula/scripts/nebula.service status all
# 啟動 studio
bash /usr/local/nebula-graph-studio/scripts/rpm/start.sh
訪問:
http://kubernetes.docker.internal:7001/
連接地址: kubernetes.docker.internal:9669
默認用戶名 root 和任意密碼
更詳細的看手冊:
https://docs.nebula-graph.com.cn/2.6.1
保存工作
docker ps
docker commit fb44df0cbf8f centos:ng
停止服務
bash /usr/local/nebula-graph-studio/scripts/rpm/stop.sh
/usr/local/nebula/scripts/nebula.service stop all
exit