配置管理Graph
NebulaGraph 基于 Graph中获取配置信息。对于文件中没有的配置项,系统使用默认值。
Enterpriseonly
性能、参数、查询语句的调优方式及服务。
Note
- 由于配置项数多且可能随着 NebulaGraph 的开发发生变化,文档不会介绍所有配置项。按下文说明可在命令行获取配置项的详细说明。
- 不建议修改文档未介绍的配置项,除非已经熟悉源代码并完全了解配置项的作用。
历史版本兼容性
1.x 版本的文档提供了使用 CONFIGS 命令修改缓存中配置的方法,但在生产环境中使用该方法容易导致集群配置与本地配置文件不一致。因此,2.x 版本的文档中将不再介绍 CONFIGS 命令的使用方法。
查看配置项列表与说明Graph
使用以下命令获取二进制文件对应服务的所有配置项信息:
<binary> --help
例如:
# 获取 Meta 配置项的帮助信息
$ /usr/local/nebula/bin/nebula-metad --help
# 获取 Graph 配置项的帮助信息
$ /usr/local/nebula/bin/nebula-graphd --help
# 获取 Storage 配置项的帮助信息
$ /usr/local/nebula/bin/nebula-storaged --help
以上示例使用了二进制文件的默认存储路径/usr/local/nebula/bin/
。如果修改了 NebulaGraph 安装路径,使用实际路径查询配置项信息。
查看运行配置Graph
使用curl
命令获取运行中的配置项的值,即 NebulaGraph 的运行配置。
例如:
# 获取 Meta 服务的运行配置
curl 127.0.0.1:19559/flags
# 获取 Graph 服务的运行配置
curl 127.0.0.1:19669/flags
# 获取 Storage 服务的运行配置
curl 127.0.0.1:19779/flags
Note
实际环境中需使用真实的主机 IP 地址取代以上示例中的127.0.0.1
。
配置文件简介Graph
源码、RPM/DEB、TAR 包集群的配置文件Graph
NebulaGraph 为每个服务都提供了两份初始配置文件<service_name>.conf.default
和<service_name>.conf.production
,方便用户在不同场景中使用。使用源码和 RPM/DEB 安装集群的配置文件的默认路径为/usr/local/nebula/etc/
;使用 TAR 包安装集群的配置文件路径为<install_path>/<tar_package_directory>/etc
TAR 包的安装路径。
初始配置文件中的配置值仅供参考,使用时可根据实际需求调整。如需使用初始配置文件,从上述两个文件选择其一,删除后缀.default
或.production
使其生效。
Caution
为确保服务的可用性,同类服务的配置需保持一致,本机 IP 地址local_ip
除外。例如,一个 NebulaGraph 集群中部署了 3 个 Storage 服务器,3 者除 IP 地址外的其它配置需相同。
下表列出了各服务对应的初始配置文件。
NebulaGraph 服务 | 初始配置文件 | 配置说明 |
---|---|---|
Meta | nebula-metad.conf.default 和nebula-metad.conf.production |
Graph |
Graph | nebula-graphd.conf.default 和nebula-graphd.conf.production |
Graph |
Storage | nebula-storaged.conf.default 和nebula-storaged.conf.production |
Graph |
所有服务的初始配置文件中都包含local_config
参数,预设值为true
,表示 NebulaGraph 服务会从其配置文件获取配置并启动。
Caution
不建议修改local_config
的值为false
。修改后 NebulaGraph 服务启动后会先尝试从 Meta 服务获取缓存的配置信息,可能导致集群配置不一致,造成未知风险。
Docker Compose 集群的配置文件Graph
对于使用 Docker Compose 创建的集群,集群的配置文件的默认路径为<install_path>/nebula-docker-compose/docker-compose.yaml
。配置文件中的command
下面的参数为各服务的启动参数。