部署 Studio¶
本文介绍如何在本地通过 Docker、RPM 和 tar 包部署 Studio。
Note
用户也可以在 Studio 在线试用部分功能。
RPM 部署 Studio¶
前提条件¶
在部署 RPM 版 Studio 之前,用户需要确认以下信息:
- Nebula Graph 服务已经部署并启动。详细信息,参考 Nebula Graph 安装部署。
-
使用的 Linux 发行版为 CentOS ,安装有 lsof 和版本为 v10.16.0 + 以上的 Node.js。
Note
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
-
确保在安装开始前,以下端口处于未被使用状态。
端口号 说明 7001 Studio 提供 web 服务使用。 8080 Nebula HTTP Gateway Client 进行 HTTP 通信使用。
安装¶
-
根据需要选择并下载 RPM 包,建议选择最新版本。常用下载链接如下:
安装包 检验和 Nebula 版本 nebula-graph-studio-3.1.1.x86_64.rpm nebula-graph-studio-3.1.1.x86_64.rpm.sha256 2.6.2 -
使用
sudo rpm -i <rpm>
命令安装 RPM 包。例如,安装 Studio 3.1.1 版本需要运行以下命令:
$ sudo rpm -i nebula-graph-studio-3.1.1.x86_64.rpm
当屏幕返回以下信息时,表示 PRM 版 Studio 已经成功启动。
egg started on http://0.0.0.0:7001 nohup: 把输出追加到"nohup.out"
-
启动成功后,在浏览器地址栏输入
http://ip address:7001
。如果在浏览器窗口中能看到以下登录界面,表示已经成功部署并启动 Studio。
卸载¶
用户可以使用以下的命令卸载 Studio。
$ sudo rpm -e nebula-graph-studio-3.1.1.x86_64
异常处理¶
如果在安装过程中自动启动失败或是需要手动启动或停止服务,请使用以下命令
- 手动启动服务
$ bash /usr/local/nebula-graph-studio/scripts/rpm/start.sh
- 手动停止服务
$ bash /usr/local/nebula-graph-studio/scripts/rpm/stop.sh
如果启动服务时遇到报错报错 ERROR: bind EADDRINUSE 0.0.0.0:7001,用户可以通过以下命令查看端口 7001 是否被占用。
$ lsof -i:7001
如果端口被占用,且无法结束该端口上进程,用户可以通过以下命令修改 Studio 服务启动端口,并重新启动服务。
//修改 studio 服务启动端口
$ vi config/config.default.js
//修改
...
config.cluster = {
listen: {
port: 7001, // 修改这个端口号,改成任意一个当前可用的即可
hostname: '0.0.0.0',
},
};
...
//重新启动 npm
$ npm run start
tar 包部署 Studio¶
前提条件¶
在部署 tar 包安装的 Studio 之前,用户需要确认以下信息:
- Nebula Graph 服务已经部署并启动。详细信息,参考 Nebula Graph 安装部署。
- 使用的 Linux 上安装有版本为 v10.12.0 以上的 Node.js。
-
确保在安装开始前,以下端口处于未被使用状态。
端口号 说明 7001 Studio 提供的 web 服务 8080 Nebula-http-gateway,Client 的 HTTP 服务
安装¶
-
根据需要下载 tar 包,建议选择最新版本。
安装包 Studio 版本 nebula-graph-studio-3.1.1.x86_64.tar.gz 3.1.1 -
使用
tar -xvf
解压 tar 包。tar -xvf nebula-graph-studio-3.1.1.x86_64.tar.gz
部署¶
Note
根目录 nebula-graph-studio 下一共有两个安装包:nebula-graph-studio 和 nebula-http-gateway。用户需要在同一台机器上分别部署并启动服务,才能完成 Studio 的部署。
-
部署 nebula-http-gateway 并启动。
$ cd nebula-http-gateway $ nohup ./nebula-httpd &
-
部署 nebula-graph-studio 并启动。
$ cd nebula-graph-studio $ npm run start
Caution
Studio 3.1.1 版本不需要依赖于 nebula-importer,故安装部署方式与 Studio v3.0.0 不同。
-
启动成功后,在浏览器地址栏输入
http://ip address:7001
。如果在浏览器窗口中能看到以下登录界面,表示已经成功部署并启动 Studio。
停止服务¶
用户可以采用 kill pid
的方式来关停服务:
$ kill $(lsof -t -i :8080) # stop nebula-http-gateway
$ cd nebula-graph-studio
$ npm run stop # stop nebula-graph-studio
Docker 部署 Studio¶
前提条件¶
在部署 Docker 版 Studio 之前,用户需要确认以下信息:
- Nebula Graph 服务已经部署并启动。详细信息,参考 Nebula Graph 安装部署。
- 在即将运行 Docker 版 Studio 的机器上安装并启动 Docker Compose。详细信息参考 Docker Compose 文档。
-
确保在安装开始前,以下端口处于未被使用状态。
端口号 说明 7001 Studio 提供的 web 服务 8080 Nebula-http-gateway,Client 的 HTTP 服务
-
(可选)在中国大陆从 Docker Hub 拉取 Docker 镜像的速度可能比较慢,用户可以使用
registry-mirrors
参数配置加速镜像。例如,如果要使用 Docker 中国区官方镜像、网易镜像和中国科技大学的镜像,则按以下格式配置registry-mirrors
参数:{ "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ] }
配置文件的路径和方法因操作系统和/或 Docker Desktop 版本而异。详细信息参考 Docker Daemon 配置文档。
操作步骤¶
在命令行工具中按以下步骤依次运行命令,部署并启动 Docker 版 Studio,这里我们用 Nebula Graph 版本为 2.5 的进行演示:
-
下载 Studio 的部署配置文件。
安装包 Nebula Graph 版本 nebula-graph-studio-v3.1.1.tar.gz 2.6.2 -
创建
nebula-graph-studio-v3.1.1
目录,并将安装包解压至目录中。mkdir nebula-graph-studio-v3.1.1 && tar -zxvf nebula-graph-studio-v3.1.1.tar.gz -C nebula-graph-studio-v3.1.1
-
解压后进入
nebula-graph-studio-v3.1.1
目录。cd nebula-graph-studio-v3.1.1
-
拉取 Studio 的 Docker 镜像。
docker-compose pull
-
构建并启动 Studio 服务。其中,
-d
表示在后台运行服务容器。docker-compose up -d
当屏幕返回以下信息时,表示 Docker 版 Studio 已经成功启动。
Creating docker_client_1 ... done Creating docker_web_1 ... done Creating docker_nginx_1 ... done
-
启动成功后,在浏览器地址栏输入
http://ip address:7001
。Note
在运行 Docker 版 Studio 的机器上,用户可以运行
ifconfig
或者ipconfig
获取本机 IP 地址。如果使用这台机器访问 Studio,可以在浏览器地址栏里输入http://localhost:7001
。如果在浏览器窗口中能看到以下登录界面,表示已经成功部署并启动 Studio。
后续操作¶
进入 Studio 登录界面后,用户需要连接 Nebula Graph。详细信息,参考连接数据库。