Graph服务配置
Graph服务提供了两份初始配置文件nebula-graphd.conf.default
和nebula-graphd.conf.production
,方便在不同场景中使用。文件的默认路径为/usr/local/nebula/etc/
。
Caution
- 不建议修改
local_config
的值为false
。修改后Nebula Graph服务启动后会先尝试从Meta服务获取缓存的配置信息,可能导致集群配置不一致,造成未知风险。 - 不建议修改文档未介绍的配置项,除非已经熟悉源代码并完全了解配置项的作用。
配置文件使用方式
如需使用初始配置文件,从上述两个文件选择其一,删除后缀.default
或.production
,Meta服务才能将其识别为配置文件并从中获取配置信息。
配置文件参数值说明
配置文件内没有设置某个参数表示参数使用的是默认值。文件内只预设了部分参数的值,而且两份初始配置文件内的参数值也略有不同,本文的预设值以nebula-metad.conf.default
为准。
如需查看所有的参数及其当前值,参见配置管理。
basics配置
名称 | 预设值 | 说明 |
---|---|---|
daemonize | true | 是否启动守护进程。 |
pid_file | pids/nebula-graphd.pid | 记录进程ID的文件。 |
enable_optimizer | true | 是否启用优化器。 |
timezone_name | - | 指定Nebula Graph的时区。初始配置文件中未设置该参数,使用需手动添加。系统默认值为UTC+00:00:00 。格式请参见Specifying the Time Zone with TZ。例如,东八区的设置方式为—timezone_name=UTC+08:00 。 |
local_config | true | 是否从配置文件获取配置信息。 |
Note
- 在插入时间类型的属性值时,Nebula Graph会根据
timezone_name
设置的时区将该时间值(TIMESTAMP类型例外)转换成相应的UTC时间,因此在查询中返回的时间类型属性值为UTC时间。 timezone_name
参数只用于转换Nebula Graph中存储的数据,Nebula Graph进程中其它时区相关数据,例如日志打印的时间等,仍然使用主机系统默认的时区。
logging配置
名称 | 预设值 | 说明 |
---|---|---|
log_dir | logs | 存放Graph服务日志的目录,建议和数据保存在不同硬盘。 |
minloglevel | 0 | 最小日志级别,即不会记录低于这个级别的日志。可选值为0 (INFO)、1 (WARNING)、2 (ERROR)、3 (FATAL)。建议在调试时设置为0 ,生产环境中设置为1 。如果设置为4 ,Nebula Graph不会记录任何日志。 |
v | 0 | 日志详细级别,值越大,日志记录越详细。可选值为0 、1 、2 、3 。 |
logbufsecs | 0 | 缓冲日志的最大时间,超时后输出到日志文件。0 表示实时输出。单位:秒。 |
redirect_stdout | true | 是否将标准输出和标准错误重定向到单独的输出文件。 |
stdout_log_file | graphd-stdout.log | 标准输出日志文件名称。 |
stderr_log_file | graphd-stderr.log | 标准错误日志文件名称。 |
stderrthreshold | 2 | 要复制到标准错误中的最小日志级别(minloglevel )。 |
query配置
名称 | 预设值 | 说明 |
---|---|---|
accept_partial_success | false | 是否将部分成功视为错误。此配置仅适用于只读请求,写请求总是将部分成功视为错误。 |
session_reclaim_interval_secs | 10 | 将Session信息发送给Meta服务的间隔。单位:秒。 |
max_allowed_query_size | 4194304 | 最大查询语句长度。单位:字节。默认为4194304 ,即4MB。 |
networking配置
名称 | 预设值 | 说明 |
---|---|---|
meta_server_addrs | 127.0.0.1:9559 | 全部Meta服务的IP地址和端口。多个Meta服务用英文逗号(,)分隔。 |
local_ip | 127.0.0.1 | Graph服务的本地IP地址。本地IP地址用于识别nebula-graphd进程,如果是分布式集群或需要远程访问,请修改为对应地址。 |
listen_netdev | any | 监听的网络设备。 |
port | 9669 | Graph服务的RPC守护进程监听端口。 |
reuse_port | false | 是否启用SO_REUSEPORT。 |
listen_backlog | 1024 | socket监听的连接队列最大长度,调整本参数需要同时调整net.core.somaxconn 。 |
client_idle_timeout_secs | 0 | 空闲连接的超时时间。0 表示永不超时。单位:秒。 |
session_idle_timeout_secs | 0 | 空闲会话的超时时间。0 表示永不超时。单位:秒。 |
num_accept_threads | 1 | 接受传入连接的线程数。 |
num_netio_threads | 0 | 网络IO线程数。0 表示CPU核数。 |
num_worker_threads | 0 | 执行用户查询的线程数。0 表示CPU核数。 |
ws_ip | 0.0.0.0 | HTTP服务的IP地址。 |
ws_http_port | 19669 | HTTP服务的端口。 |
ws_h2_port | 19670 | HTTP2服务的端口。 |
heartbeat_interval_secs | 10 | 默认心跳间隔。请确保所有服务的heartbeat_interval_secs 取值相同,否则会导致系统无法正常工作。单位:秒。 |
storage_client_timeout_ms | - | Graph服务与Storage服务的RPC连接超时时间。初始配置文件中未设置该参数,使用需手动添加。默认值为60000 毫秒。 |
ws_meta_http_port | 19559 | HTTP协议监听Meta服务的端口,需要和Meta服务配置文件中的ws_http_port 保持一致。 |
Caution
必须在配置文件中使用真实的IP地址。否则某些情况下127.0.0.1/0.0.0.0
无法正确解析。
charset and collate配置
名称 | 预设值 | 说明 |
---|---|---|
default_charset | utf8 | 创建图空间时的默认字符集。 |
default_collate | utf8_bin | 创建图空间时的默认排序规则。 |
authorization配置
名称 | 预设值 | 说明 |
---|---|---|
enable_authorize | false | 用户登录时是否进行身份验证。身份验证详情请参见身份验证。 |
auth_type | password | 用户登录的身份验证方式。取值为password 、ldap 、cloud 。 |
memory配置
名称 | 预设值 | 说明 |
---|---|---|
system_memory_high_watermark_ratio | - | 内存高水位报警机制的触发阈值,默认为0.9 。系统内存占用率高于该值会触发报警机制,Nebula Graph会停止接受查询。 |
experimental配置
名称 | 预设值 | 说明 |
---|---|---|
enable_experimental_feature | false | 实验性功能开关。可选值为true 和false 。当前支持的实验性功能请参见下文。 |
experimental功能说明
名称 | 说明 |
---|---|
TOSS | TOSS(Transaction on Storage Side)功能,用于保证对边进行INSERT 、UPDATE 或UPSERT 操作的最终一致性(因为逻辑上的一条边对应着硬盘上的两个键值对)。暂不支持DELETE 操作。开启后会增加相关操作的时延约1倍。 |
最后更新: October 15, 2021
当前内容版权归 Nebula Graph 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Nebula Graph .