连接Nebula Graph服务

Nebula Graph支持多种类型客户端,包括CLI客户端、GUI客户端和流行编程语言开发的客户端。本文将概述Nebula Graph客户端,并介绍如何使用原生CLI客户端Nebula Console。

Nebula Graph客户端

用户可以使用已支持的客户端或者命令行工具来连接Nebula Graph数据库。

使用Nebula Console连接Nebula Graph

前提条件

  • Nebula Graph服务已启动

  • 运行Nebula Console的机器和运行Nebula Graph的服务器网络互通。

操作步骤

  1. Nebula Console下载页面,确认需要的版本,单击Assets

    Select a Nebula Graph version and click **Assets**

  2. Assets区域找到机器运行所需的二进制文件,下载文件到机器上。

    Click to download the package according to your hardware architecture

  3. (可选)为方便使用,重命名文件为nebula-console

  4. 在运行Nebula Console的机器上执行如下命令,为用户授予nebula-console文件的执行权限。

    1. $ chmod 111 nebula-console
  5. 在命令行界面中,切换工作目录至nebula-console文件所在目录。

  6. 执行如下命令连接Nebula Graph。

    • Linux或macOS

      1. $ ./nebula-console -addr <ip> -port <port> -u <username> -p <password>
      2. [-t 120] [-e "nGQL_statement" | -f filename.nGQL]
    • Windows

      1. > nebula-console.exe -addr <ip> -port <port> -u <username> -p <password>
      2. [-t 120] [-e "nGQL_statement" | -f filename.nGQL]

    参数说明如下。

    参数说明
    -h显示帮助菜单。
    -addr设置要连接的graphd服务的IP地址。默认地址为127.0.0.1。
    -port设置要连接的graphd服务的端口。默认端口为9669。
    -u/-user设置Nebula Graph账号的用户名。未启用身份认证时,可以使用任意已存在的用户名(默认为root)。
    -p/-password设置用户名对应的密码。未启用身份认证时,密码可以填写任意字符。
    -t/-timeout设置整数类型的连接超时时间。单位为秒,默认值为120。
    -e/-eval设置字符串类型的nGQL语句。连接成功后会执行一次该语句并返回结果,然后自动断开连接。
    -f/-file设置存储nGQL语句的文件的路径。连接成功后会执行该文件内的nGQL语句并返回结果,执行完毕后自动断开连接。

用户可以使用./nebula-console --help命令获取所有参数的说明,也可以在项目仓库找到更多说明。

Nebula Console命令

Nebula Console提供部分命令,可以导出CSV文件、导出DOT文件、导入测试数据集等。

导出CSV文件

导出CSV文件命令如下:

  1. nebula> :CSV <file_name.csv>

导出DOT文件

导出DOT文件命令如下:

  1. nebula> :dot <file_name.dot>

示例:

  1. nebula> :dot a.dot
  2. nebula> PROFILE FORMAT="dot" GO FROM "player100" OVER follow;

加载测试数据集

测试数据集名称为nba,详细Schema信息和数据信息请使用相关SHOW命令查看。

加载测试数据集命令如下:

  1. nebula> :play nba

重复执行

重复执行下一个命令N次,然后打印平均执行时间。命令如下:

  1. nebula> :repeat N

示例:

  1. nebula> :repeat 3
  2. nebula> GO FROM "player100" OVER follow;
  3. +-------------+
  4. | follow._dst |
  5. +-------------+
  6. | "player101" |
  7. +-------------+
  8. | "player125" |
  9. +-------------+
  10. Got 2 rows (time spent 2602/3214 us)
  11. Fri, 20 Aug 2021 06:36:05 UTC
  12. +-------------+
  13. | follow._dst |
  14. +-------------+
  15. | "player101" |
  16. +-------------+
  17. | "player125" |
  18. +-------------+
  19. Got 2 rows (time spent 583/849 us)
  20. Fri, 20 Aug 2021 06:36:05 UTC
  21. +-------------+
  22. | follow._dst |
  23. +-------------+
  24. | "player101" |
  25. +-------------+
  26. | "player125" |
  27. +-------------+
  28. Got 2 rows (time spent 496/671 us)
  29. Fri, 20 Aug 2021 06:36:05 UTC
  30. Executed 3 times, (total time spent 3681/4734 us), (average time spent 1227/1578 us)

睡眠

睡眠N秒。常用于修改Schema的操作中,因为修改Schema是异步实现的,需要在下一个心跳周期才同步数据。命令如下:

  1. nebula> :sleep N

断开连接

用户可以使用:EXIT或者:QUIT从Nebula Graph断开连接。为方便使用,Nebula Console支持使用不带冒号(:)的小写命令,例如quit

示例:

  1. nebula> :QUIT
  2. Bye root!

常见问题

如何通过源码安装Nebula Console?

下载和编译Nebula Console的最新源码,请参见GitHub nebula console页面的说明。