连接NebulaGraph服务Graph
NebulaGraph支持多种类型客户端,包括CLI客户端、GUI客户端和流行编程语言开发的客户端。本文将概述NebulaGraph客户端,并介绍如何使用原生CLI客户端Nebula Console。
NebulaGraph客户端Graph
用户可以使用已支持的Graph来连接NebulaGraph数据库。
使用Nebula Console连接NebulaGraphGraph
前提条件Graph
- NebulaGraph服务已Graph。
- 运行Nebula Console的机器和运行NebulaGraph的服务器网络互通。
操作步骤Graph
-
在Graph下载页面,确认需要的版本,单击Assets。
Note
建议选择最新版本。
-
在Assets区域找到机器运行所需的二进制文件,下载文件到机器上。
-
(可选)为方便使用,重命名文件为
nebula-console
。Note
在Windows系统中,请重命名为
nebula-console.exe
。 -
在运行Nebula Console的机器上执行如下命令,为用户授予nebula-console文件的执行权限。
Note
Windows系统请跳过此步骤。
$ chmod 111 nebula-console
-
在命令行界面中,切换工作目录至nebula-console文件所在目录。
-
执行如下命令连接NebulaGraph。
-
Linux或macOS
$ ./nebula-console -addr <ip> -port <port> -u <username> -p <password> [-t 120] [-e "nGQL_statement" | -f filename.nGQL]
-
Windows
> nebula-console.exe -addr <ip> -port <port> -u <username> -p <password> [-t 120] [-e "nGQL_statement" | -f filename.nGQL]
参数说明如下。
参数 说明 -h
显示帮助菜单。 -addr
设置要连接的graphd服务的IP地址。默认地址为127.0.0.1。 -port
设置要连接的graphd服务的端口。默认端口为9669。 -u/-user
设置NebulaGraph账号的用户名。未启用身份认证时,可以使用任意已存在的用户名(默认为 root
)。-p/-password
设置用户名对应的密码。未启用身份认证时,密码可以填写任意字符。 -t/-timeout
设置整数类型的连接超时时间。单位为秒,默认值为120。 -e/-eval
设置字符串类型的nGQL语句。连接成功后会执行一次该语句并返回结果,然后自动断开连接。 -f/-file
设置存储nGQL语句的文件的路径。连接成功后会执行该文件内的nGQL语句并返回结果,执行完毕后自动断开连接。 -
用户可以使用./nebula-console --help
命令获取所有参数的说明,也可以在Graph找到更多说明。
Nebula Console命令Graph
Nebula Console提供部分命令,可以导出CSV文件、导出DOT文件、导入测试数据集等。
Note
命令不区分大小写。
导出CSV文件Graph
CSV文件用于保存命令执行的返回结果。
Note
- CSV文件保存在当前工作目录中,即Linux命令
pwd
显示的目录。
- 命令只对下一条查询语句生效。
导出CSV文件命令如下:
nebula> :CSV <file_name.csv>
导出DOT文件Graph
DOT文件同样用于保存命令执行的返回结果,其保存的结果信息和CSV文件不同。
Note
- DOT文件保存在当前工作目录中,即Linux命令
pwd
显示的目录。
- DOT文件的内容可以复制后在Graph网页中粘贴,生成可视化的执行计划图。
- 命令只对下一条查询语句生效。
导出DOT文件命令如下:
nebula> :dot <file_name.dot>
示例:
nebula> :dot a.dot
nebula> PROFILE FORMAT="dot" GO FROM "player100" OVER follow;
加载测试数据集Graph
测试数据集名称为nba,详细Schema信息和数据信息请使用相关SHOW
命令查看。
加载测试数据集命令如下:
nebula> :play nba
重复执行Graph
重复执行下一个命令N次,然后打印平均执行时间。命令如下:
nebula> :repeat N
示例:
nebula> :repeat 3
nebula> GO FROM "player100" OVER follow;
+-------------+
| follow._dst |
+-------------+
| "player101" |
| "player125" |
+-------------+
Got 2 rows (time spent 2602/3214 us)
Fri, 20 Aug 2021 06:36:05 UTC
+-------------+
| follow._dst |
+-------------+
| "player101" |
| "player125" |
+-------------+
Got 2 rows (time spent 583/849 us)
Fri, 20 Aug 2021 06:36:05 UTC
+-------------+
| follow._dst |
+-------------+
| "player101" |
| "player125" |
+-------------+
Got 2 rows (time spent 496/671 us)
Fri, 20 Aug 2021 06:36:05 UTC
Executed 3 times, (total time spent 3681/4734 us), (average time spent 1227/1578 us)
睡眠Graph
睡眠N秒。常用于修改Schema的操作中,因为修改Schema是异步实现的,需要在下一个心跳周期才同步数据。命令如下:
nebula> :sleep N
断开连接Graph
用户可以使用:EXIT
或者:QUIT
从NebulaGraph断开连接。为方便使用,Nebula Console支持使用不带冒号(:)的小写命令,例如quit
。
示例:
nebula> :QUIT
Bye root!
常见问题Graph
如何通过源码安装Nebula Console?Graph
下载和编译Nebula Console的最新源码,请参见Graph页面的说明。