配置管理

Nebula Graph基于gflags库打造了系统配置,多数配置项都是其中的flags。Nebula Graph服务启动时,默认会从配置文件中获取配置信息,文件中没有的配置项应用默认值。

Enterpriseonly

性能、参数、查询语句的调优方式及服务。

Note

  • 由于配置项数多且可能随着Nebula Graph的开发发生变化,文档不会介绍所有配置项。按下文说明可在命令行获取配置项的详细说明。
  • 不建议修改文档未介绍的配置项,除非已经熟悉源代码并完全了解配置项的作用。

历史版本兼容性

1.x版本的文档提供了使用CONFIGS命令修改缓存中配置的方法,但在生产环境中使用该方法容易导致集群配置与本地配置文件不一致。因此,2.x版本的文档中将不再介绍CONFIGS命令的使用方法。

查看配置项列表与说明

使用以下命令获取二进制文件对应服务的所有配置项信息:

  1. <binary> --help

例如:

  1. # 获取Meta配置项的帮助信息
  2. $ /usr/local/nebula/bin/nebula-metad --help
  3. # 获取Graph配置项的帮助信息
  4. $ /usr/local/nebula/bin/nebula-graphd --help
  5. # 获取Storage配置项的帮助信息
  6. $ /usr/local/nebula/bin/nebula-storaged --help

以上示例使用了二进制文件的默认存储路径/usr/local/nebula/bin/。如果修改了Nebula Graph安装路径,使用实际路径查询配置项信息。

查看运行配置

使用curl命令获取运行中的配置项的值,即Nebula Graph的运行配置。

历史版本兼容性

Nebula Graph v2.x版本的curl命令不兼容v1.x版本。命令和参数都有改变。

例如:

  1. # 获取Meta服务的运行配置
  2. curl 127.0.0.1:19559/flags
  3. # 获取Graph服务的运行配置
  4. curl 127.0.0.1:19669/flags
  5. # 获取Storage服务的运行配置
  6. curl 127.0.0.1:19779/flags

Note

实际环境中需使用真实的主机IP地址取代以上示例中的127.0.0.1

配置文件简介

Nebula Graph为每个服务都提供了两份初始配置文件<service_name>.conf.default<service_name>.conf.production,方便用户在不同场景中使用。文件的默认路径为/usr/local/nebula/etc/

初始配置文件中的配置值仅供参考,使用时可根据实际需求调整。如需使用初始配置文件,从上述两个文件选择其一,删除后缀.default.production使其生效。

Caution

为确保服务的可用性,同类服务的配置需保持一致,本机IP地址local_ip除外。例如,一个Nebula Graph集群中部署了3个Storage服务器,3者除IP地址外的其它配置需相同。

下表列出了各服务对应的初始配置文件。

Nebula Graph服务初始配置文件配置说明
Metanebula-metad.conf.defaultnebula-metad.conf.productionMeta服务配置
Graphnebula-graphd.conf.defaultnebula-graphd.conf.productionGraph服务配置
Storagenebula-storaged.conf.defaultnebula-storaged.conf.productionStorage服务配置

所有服务的初始配置文件中都包含local_config参数,预设值为true,表示Nebula Graph服务会从其配置文件获取配置并启动。

Caution

不建议修改local_config的值为false。修改后Nebula Graph服务启动后会先尝试从Meta服务获取缓存的配置信息,可能导致集群配置不一致,造成未知风险。

修改配置

默认情况下,所有Nebula Graph服务从配置文件获取配置。用户可以按照以下步骤修改配置并使其生效:

  1. 使用文本编辑器修改目标服务的配置文件并保存。

  2. 选择合适的时间重启所有Nebula Graph服务使修改生效。


最后更新: September 6, 2021