From d637e9871e64da6236e30a9111606344f06834e9 Mon Sep 17 00:00:00 2001 From: Abby <78209557+abby-cyber@users.noreply.github.com> Date: Fri, 24 Feb 2023 12:11:38 +0800 Subject: [PATCH 1/6] dynamic-changes-to-configs --- .../1.configurations/1.configurations.md | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md b/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md index b124db55c0..46dad8b05b 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md @@ -108,19 +108,31 @@ NebulaGraph 为每个服务都提供了两份初始配置文件`.c ## 修改配置 -默认情况下,所有 NebulaGraph 服务从配置文件获取配置。用户可以按照以下步骤修改配置并使其生效。 +- 默认情况下,所有 NebulaGraph 服务从配置文件获取配置。用户可以按照以下步骤修改配置并使其生效。 -* 针对使用源码、RPM/DEB、TAR 包安装的集群: + * 针对使用源码、RPM/DEB、TAR 包安装的集群: - 1. 使用文本编辑器修改目标服务的配置文件并保存。 + 1. 使用文本编辑器修改目标服务的配置文件并保存。 - 2. 选择合适的时间重启**所有** NebulaGraph 服务使修改生效。 + 2. 选择合适的时间重启**所有** NebulaGraph 服务使修改生效。 -* 针对使用 Docker Compose 安装的集群: - - 1. 在文件`/nebula-docker-compose/docker-compose.yaml`中,修改服务配置。 - 2. 在目录`nebula-docker-compose`内执行命令`docker-compose up -d`重启涉及配置变化的服务。 + * 针对使用 Docker Compose 安装的集群: + + 1. 在文件`/nebula-docker-compose/docker-compose.yaml`中,修改服务配置。 + 2. 在目录`nebula-docker-compose`内执行命令`docker-compose up -d`重启涉及配置变化的服务。 + + * 针对使用 Kubectl 方式创建的集群: + + 具体操作,参见[自定义集群的配置参数](../../nebula-operator/8.custom-cluster-configurations/8.1.custom-conf-parameter.md)。 + +- 动态修改配置。用户可以通过`curl`命令动态修改 NebulaGraph 服务的配置。例如,修改 Storage 服务的`wal_ttl`参数为`600`,命令如下: -* 针对使用 Kubectl 方式创建的集群: + ```bash + curl -X PUT -H "Content-Type: application/json" -d'{"wal_ttl":"600"}' -s "http://192.168.15.6:19779/flags" + ``` - 具体操作,参见[自定义集群的配置参数](../../nebula-operator/8.custom-cluster-configurations/8.1.custom-conf-parameter.md)。 + 其中,`{"wal_ttl":"600"}`为待修改的配置参数及其值;`192.168.15.6:19779`为 Storage 服务的 IP 地址和端口号。 + + !!! caution + + 动态修改配置功能仅适用于原型验证和测试环境,不建议在生产环境中使用。因为当`local_config`值设置为`true`时,动态修改的配置不会持久化,重启服务后配置会恢复为初始配置。 \ No newline at end of file From a4a05dbce372613f5395f89e299e8d78fb362797 Mon Sep 17 00:00:00 2001 From: Abby <78209557+abby-cyber@users.noreply.github.com> Date: Mon, 27 Feb 2023 10:41:32 +0800 Subject: [PATCH 2/6] add des that whether to support dynamic changes --- .../1.configurations/1.configurations.md | 3 +- .../1.configurations/2.meta-config.md | 92 +++++----- .../1.configurations/3.graph-config.md | 161 +++++++++--------- .../1.configurations/4.storage-config.md | 160 ++++++++--------- 4 files changed, 214 insertions(+), 202 deletions(-) diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md b/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md index 46dad8b05b..1a39d05a0a 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md @@ -135,4 +135,5 @@ NebulaGraph 为每个服务都提供了两份初始配置文件`.c !!! caution - 动态修改配置功能仅适用于原型验证和测试环境,不建议在生产环境中使用。因为当`local_config`值设置为`true`时,动态修改的配置不会持久化,重启服务后配置会恢复为初始配置。 \ No newline at end of file + - 动态修改配置功能仅适用于原型验证和测试环境,不建议在生产环境中使用。因为当`local_config`值设置为`true`时,动态修改的配置不会持久化,重启服务后配置会恢复为初始配置。 + - 仅支持动态修改**部分**配置参数,具体支持的参数列表,参见[动态修改配置参数](#动态修改配置参数)。 \ No newline at end of file diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md index cf51409dd1..13f493f3d9 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md @@ -15,21 +15,25 @@ Meta 服务提供了两份初始配置文件`nebula-metad.conf.default`和`nebul 配置文件内没有设置某个参数表示参数使用的是默认值。文件内只预设了部分参数的值,而且两份初始配置文件内的参数值也略有不同,本文的预设值以`nebula-metad.conf.default`为准。 +!!! caution + + 配置文件中的部分参数值可以在运行时动态修改。本文将这些参数标记为支持运行时动态修改,并当`local_config`值设置为`true`时重启服务后配置会恢复为初始配置。详情参见[修改配置](1.configurations.md)。 + 如需查看所有的参数及其当前值,参见[配置管理](1.configurations.md)。 ## basics 配置 -| 名称 | 预设值 | 说明 | -| :----------- | :----------------------- | :------------------| -| `daemonize` | `true` | 是否启动守护进程。 | -| `pid_file` | `pids/nebula-metad.pid` | 记录进程 ID 的文件。 | -| `timezone_name` | - | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,如需使用请手动添加。系统默认值为`UTC+00:00:00`。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------- | :----------------------- | :------------------|:------------------| +| `daemonize` | `true` | 是否启动守护进程。 |不支持| +| `pid_file` | `pids/nebula-metad.pid` | 记录进程 ID 的文件。 |不支持| +| `timezone_name` | - | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,如需使用请手动添加。系统默认值为`UTC+00:00:00`。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 |不支持| {{ ent.ent_begin }} -| 名称 | 预设值 | 说明 | -| :----------- | :----------------------- | :------------------| -|`license_path`|`share/resources/nebula.license`|企业版 License 路径。企业版需要用户[设置 License](../../4.deployment-and-installation/deploy-license.md) 才可以正常启动并使用企业版功能。仅企业版 NebulaGraph 需要设置本参数,其他周边工具如何设置 License,请参见相应周边工具的部署文档。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------- | :----------------------- | :------------------|:------------------| +|`license_path`|`share/resources/nebula.license`|企业版 License 路径。企业版需要用户[设置 License](../../4.deployment-and-installation/deploy-license.md) 才可以正常启动并使用企业版功能。仅企业版 NebulaGraph 需要设置本参数,其他周边工具如何设置 License,请参见相应周边工具的部署文档。|不支持| {{ ent.ent_end }} @@ -40,29 +44,29 @@ Meta 服务提供了两份初始配置文件`nebula-metad.conf.default`和`nebul ## logging 配置 -| 名称 | 预设值 | 说明 | -| :------------- | :------------------------ | :------------------------------------------------ | -| `log_dir` | `logs` | 存放 Meta 服务日志的目录,建议和数据保存在不同硬盘。 | -| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值为`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 | -| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 | -| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 | -|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 | -|`stdout_log_file` |`metad-stdout.log` | 标准输出日志文件名称。 | -|`stderr_log_file` |`metad-stderr.log` | 标准错误日志文件名称。 | -|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 | -| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------- | :------------------------ | :------------------------------------------------ |:------------------| +| `log_dir` | `logs` | 存放 Meta 服务日志的目录,建议和数据保存在不同硬盘。 |不支持| +| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值为`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 |支持| +| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 |支持| +| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 |不支持| +|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 |不支持| +|`stdout_log_file` |`metad-stdout.log` | 标准输出日志文件名称。 |不支持| +|`stderr_log_file` |`metad-stderr.log` | 标准错误日志文件名称。 |不支持| +|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 |不支持| +| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 |不支持| ## networking 配置 -| 名称 | 预设值 | 说明 | -| :----------------------- | :---------------- | :---------------------------------------------------- | -| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 | -|`local_ip` | `127.0.0.1` | Meta 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-metad 进程,如果是分布式集群或需要远程访问,请修改为对应地址。| -| `port` | `9559` | Meta 服务的 RPC 守护进程监听端口。Meta 服务对外端口为`9559`,对内端口为`对外端口+1`,即`9560`,NebulaGraph 使用内部端口进行多副本间的交互。 | -| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 | -| `ws_http_port` | `19559` | HTTP 服务的端口。 | -|`ws_storage_http_port`|`19779`| HTTP 协议监听 Storage 服务的端口,需要和 Storage 服务配置文件中的`ws_http_port`保持一致。仅存算合并版 NebulaGraph 需要设置本参数。| -|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------------------- | :---------------- | :---------------------------- |:------------------| +| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 |不支持| +|`local_ip` | `127.0.0.1` | Meta 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-metad 进程,如果是分布式集群或需要远程访问,请修改为对应地址。|不支持| +| `port` | `9559` | Meta 服务的 RPC 守护进程监听端口。Meta 服务对外端口为`9559`,对内端口为`对外端口+1`,即`9560`,NebulaGraph 使用内部端口进行多副本间的交互。 |不支持| +| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 |不支持| +| `ws_http_port` | `19559` | HTTP 服务的端口。 |不支持| +|`ws_storage_http_port`|`19779`| HTTP 协议监听 Storage 服务的端口,需要和 Storage 服务配置文件中的`ws_http_port`保持一致。仅存算合并版 NebulaGraph 需要设置本参数。|不支持| +|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 |支持| !!! caution @@ -70,22 +74,22 @@ Meta 服务提供了两份初始配置文件`nebula-metad.conf.default`和`nebul ## storage 配置 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`data_path`|`data/meta`|meta 数据存储路径。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :------------------------------------------ |:------------------| +|`data_path`|`data/meta`|meta 数据存储路径。|不支持| ## misc 配置 -| 名称 | 预设值 | 说明 | -| :------------------------- | :-------- | :------------------------ | -|`default_parts_num` | `100` | 创建图空间时的默认分片数量。 | -|`default_replica_factor` | `1` | 创建图空间时的默认副本数量。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------------- | :-------- | :------------------------ |:------------------| +|`default_parts_num` | `100` | 创建图空间时的默认分片数量。 |不支持| +|`default_replica_factor` | `1` | 创建图空间时的默认副本数量。 |不支持| ## rocksdb options 配置 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`rocksdb_wal_sync` |`true` |是否同步 RocksDB 的 WAL 日志。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :------------------------------------------ |:------------------| +|`rocksdb_wal_sync` |`true` |是否同步 RocksDB 的 WAL 日志。|不支持| {{ ent.ent_begin }} @@ -95,11 +99,11 @@ Meta 服务提供了两份初始配置文件`nebula-metad.conf.default`和`nebul 仅企业版支持黑匣子功能配置。 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`ng_black_box_switch` |`true` |是否开启黑匣子功能。| -|`ng_black_box_home` |`black_box` |存储黑匣子数据的目录名称。| -|`ng_black_box_dump_period_seconds` |`5` |黑匣子采集指标的时间间隔。单位:秒。| -|`ng_black_box_file_lifetime_seconds` |`1800` |采集指标后生成文件的保存时间。单位:秒| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :--------------------------- |:------------------| +|`ng_black_box_switch` |`true` |是否开启黑匣子功能。|不支持| +|`ng_black_box_home` |`black_box` |存储黑匣子数据的目录名称。|不支持| +|`ng_black_box_dump_period_seconds` |`5` |黑匣子采集指标的时间间隔。单位:秒。|不支持| +|`ng_black_box_file_lifetime_seconds` |`1800` |采集指标后生成文件的保存时间。单位:秒|支持| {{ ent.ent_end }} \ No newline at end of file diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md index 8a1836eb95..948f33e9ad 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md @@ -15,17 +15,20 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb 配置文件内没有设置某个参数表示参数使用的是默认值。文件内只预设了部分参数的值,而且两份初始配置文件内的参数值也略有不同,本文的预设值以`nebula-graphd.conf.default`为准。 +!!! caution + 配置文件中的部分参数值可以在运行时动态修改。本文将这些参数标记为支持运行时动态修改,并当`local_config`值设置为`true`时重启服务后配置会恢复为初始配置。详情参见[修改配置](1.configurations.md)。 + 如需查看所有的参数及其当前值,参见[配置管理](1.configurations.md)。 ## basics 配置 -| 名称 | 预设值 | 说明 | -| ----------------- | ----------------------- | ------------------| -| `daemonize` | `true` | 是否启动守护进程。 | -| `pid_file` | `pids/nebula-graphd.pid`| 记录进程 ID 的文件。 | -|`enable_optimizer` |`true` | 是否启用优化器。| -| `timezone_name` | - | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,使用需手动添加。系统默认值为`UTC+00:00:00`。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 | -| `local_config` | `true` | 是否从配置文件获取配置信息。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ----------------- | ----------------------- | ------------------|---------------------| +| `daemonize` | `true` | 是否启动守护进程。 |不支持| +| `pid_file` | `pids/nebula-graphd.pid`| 记录进程 ID 的文件。 |不支持| +|`enable_optimizer` |`true` | 是否启用优化器。|不支持| +| `timezone_name` | - | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,使用需手动添加。系统默认值为`UTC+00:00:00`。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 |不支持| +| `local_config` | `true` | 是否从配置文件获取配置信息。 |不支持| !!! Note @@ -34,49 +37,49 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb ## logging 配置 -| 名称 | 预设值 | 说明 | -| ------------- | ------------------------ | ------------------------------------------------ | -| `log_dir` | `logs` | 存放 Graph 服务日志的目录,建议和数据保存在不同硬盘。 | -| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值为`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 | -| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 | -| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 | -|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 | -|`stdout_log_file` |`graphd-stdout.log` | 标准输出日志文件名称。 | -|`stderr_log_file` |`graphd-stderr.log` | 标准错误日志文件名称。 | -|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 | -| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------- | ------------------------ | ------------------------------------------------ |---------------------| +| `log_dir` | `logs` | 存放 Graph 服务日志的目录,建议和数据保存在不同硬盘。 |不支持| +| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值为`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 |支持| +| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 |支持| +| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 |不支持| +|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 |不支持| +|`stdout_log_file` |`graphd-stdout.log` | 标准输出日志文件名称。 |不支持| +|`stderr_log_file` |`graphd-stderr.log` | 标准错误日志文件名称。 |不支持| +|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 |不支持| +| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 |不支持| ## query 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -|`accept_partial_success` |`false` |是否将部分成功视为错误。此配置仅适用于只读请求,写请求总是将部分成功视为错误。| -|`session_reclaim_interval_secs`|`60`| 将 Session 信息发送给 Meta 服务的间隔。单位:秒。| -|`max_allowed_query_size`|`4194304`|最大查询语句长度。单位:字节。默认为`4194304`,即 4MB。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +|`accept_partial_success` |`false` |是否将部分成功视为错误。此配置仅适用于只读请求,写请求总是将部分成功视为错误。|支持| +|`session_reclaim_interval_secs`|`60`| 将 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` |`28800` | 空闲连接的超时时间。默认 8 小时。`0`表示永不超时。单位:秒。 | -|`session_idle_timeout_secs` |`28800` | 空闲会话的超时时间。取值范围为 1~604800。默认 8 小时。单位:秒。 | -|`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 服务的端口。 | -|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 | -|`storage_client_timeout_ms`|-| Graph 服务与 Storage 服务的 RPC 连接超时时间。初始配置文件中未设置该参数,使用需手动添加。默认值为`60000`毫秒。| -|`enable_record_slow_query`|`true`|是否启用慢查询记录。
仅企业版 NebulaGraph 支持设置该参数。| -|`slow_query_limit`|`100`|慢查询记录的最大条数。
仅企业版 NebulaGraph 支持设置该参数。| -|`slow_query_threshold_us`|`200000`|定义超过多长时间的查询为慢查询。单位:微秒。| -|`ws_meta_http_port`|`19559`|HTTP 协议监听 Meta 服务的端口,需要和 Meta 服务配置文件中的`ws_http_port`保持一致。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ----------------------- | ---------------- | ---------------------------------------------------- |---------------------| +| `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` |`28800` | 空闲连接的超时时间。默认 8 小时。`0`表示永不超时。单位:秒。 |不支持| +|`session_idle_timeout_secs` |`28800` | 空闲会话的超时时间。取值范围为 1~604800。默认 8 小时。单位:秒。 |不支持| +|`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 服务的端口。 |不支持| +|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 |不支持| +|`storage_client_timeout_ms`|-| Graph 服务与 Storage 服务的 RPC 连接超时时间。初始配置文件中未设置该参数,使用需手动添加。默认值为`60000`毫秒。|不支持| +|`enable_record_slow_query`|`true`|是否启用慢查询记录。
仅企业版 NebulaGraph 支持设置该参数。|不支持| +|`slow_query_limit`|`100`|慢查询记录的最大条数。
仅企业版 NebulaGraph 支持设置该参数。|不支持| +|`slow_query_threshold_us`|`200000`|定义超过多长时间的查询为慢查询。单位:微秒。|不支持| +|`ws_meta_http_port`|`19559`|HTTP 协议监听 Meta 服务的端口,需要和 Meta 服务配置文件中的`ws_http_port`保持一致。|不支持| !!! caution @@ -84,23 +87,23 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb ## charset and collate 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ---------------- | ------------------------------------------ | -| `default_charset` | `utf8` | 创建图空间时的默认字符集。 | -| `default_collate` | `utf8_bin` | 创建图空间时的默认排序规则。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ---------------- | ------------------------------------------ |---------------------| +| `default_charset` | `utf8` | 创建图空间时的默认字符集。 |不支持| +| `default_collate` | `utf8_bin` | 创建图空间时的默认排序规则。 |不支持| ## authorization 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ---------------- | ------------------------------------------ | -|`enable_authorize` |`false` |用户登录时是否进行身份验证。身份验证详情请参见[身份验证](../../7.data-security/1.authentication/1.authentication.md)。| -|`auth_type` |`password` |用户登录的身份验证方式。取值为`password`、`ldap`、`cloud`。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ---------------- | ------------------------------------------ |---------------------| +|`enable_authorize` |`false` |用户登录时是否进行身份验证。身份验证详情请参见[身份验证](../../7.data-security/1.authentication/1.authentication.md)。|不支持| +|`auth_type` |`password` |用户登录的身份验证方式。取值为`password`、`ldap`、`cloud`。|不支持| ## memory 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -| `system_memory_high_watermark_ratio` | `0.8` |内存高水位报警机制的触发阈值。系统内存占用率高于该值会触发报警机制,NebulaGraph 会停止接受查询。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +| `system_memory_high_watermark_ratio` | `0.8` |内存高水位报警机制的触发阈值。系统内存占用率高于该值会触发报警机制,NebulaGraph 会停止接受查询。|支持| {{ ent.ent_begin }} ## audit 配置 @@ -115,22 +118,22 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb ## metrics 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -| `enable_space_level_metrics` | `false` | 开启后可打开图空间级别的监控,对应的监控指标名称中包含图空间的名称,例如`query_latency_us{space=basketballplayer}.avg.3600`。支持的监控指标可用`curl`命令查看,详细说明参见[查询监控指标](../../6.monitor-and-metrics/1.query-performance-metrics.md)。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +| `enable_space_level_metrics` | `false` | 开启后可打开图空间级别的监控,对应的监控指标名称中包含图空间的名称,例如`query_latency_us{space=basketballplayer}.avg.3600`。支持的监控指标可用`curl`命令查看,详细说明参见[查询监控指标](../../6.monitor-and-metrics/1.query-performance-metrics.md)。 |不支持| ## session 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -|`max_sessions_per_ip_per_user`|`300` | 相同用户和 IP 地址可以创建的最大活跃会话数。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +|`max_sessions_per_ip_per_user`|`300` | 相同用户和 IP 地址可以创建的最大活跃会话数。|不支持| ## experimental 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -|`enable_experimental_feature`|`false`|实验性功能开关。可选值为`true`和`false`。| -|`enable_data_balance`|`true`|是否开启[均衡分片](../../8.service-tuning/load-balance.md)功能。仅当`enable_experimental_feature`为`true`时生效。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +|`enable_experimental_feature`|`false`|实验性功能开关。可选值为`true`和`false`。|不支持| +|`enable_data_balance`|`true`|是否开启[均衡分片](../../8.service-tuning/load-balance.md)功能。仅当`enable_experimental_feature`为`true`时生效。 |不支持| {{ ent.ent_begin }} @@ -141,12 +144,12 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb 仅企业版支持黑匣子功能配置。 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`ng_black_box_switch` |`true` |是否开启黑匣子功能。| -|`ng_black_box_home` |`black_box` |存储黑匣子数据的目录名称。| -|`ng_black_box_dump_period_seconds` |`5` |黑匣子采集指标的时间间隔。单位:秒。| -|`ng_black_box_file_lifetime_seconds` |`1800` |采集指标后生成文件的保存时间。单位:秒| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :------------------------------------------ |---------------------| +|`ng_black_box_switch` |`true` |是否开启黑匣子功能。|不支持| +|`ng_black_box_home` |`black_box` |存储黑匣子数据的目录名称。|不支持| +|`ng_black_box_dump_period_seconds` |`5` |黑匣子采集指标的时间间隔。单位:秒。|不支持| +|`ng_black_box_file_lifetime_seconds` |`1800` |采集指标后生成文件的保存时间。单位:秒|支持| {{ ent.ent_end }} @@ -154,12 +157,12 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb ## memory tracker 配置 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`memory_tracker_limit_ratio` |`0.8` |可用内存的百分比,当可用内存低于该值时,NebulaGraph 会停止接受查询。
计算公式:可用内存/(总内存 - 保留内存)。
**注意**:对于混合部署的集群,需要根据实际情况**调小**该参数。例如,当预期 Graphd 只占用 50% 的内存时,该参数的值可设置为小于`0.5`。| -|`memory_tracker_untracked_reserved_memory_mb` |`50`|保留内存的大小,单位:MB。| -|`memory_tracker_detail_log` |`false` | 是否定期生成较详细的内存跟踪日志。当值为`true`时,会定期生成内存跟踪日志。| -|`memory_tracker_detail_log_interval_ms` |`60000`|内存跟踪日志的生成时间间隔,单位:毫秒。仅当`memory_tracker_detail_log`为`true`时,该参数生效。| -|`memory_purge_enabled` |`true` |是否定期开启内存清理功能。当值为`true`时,会定期清理内存。| -|`memory_purge_interval_seconds` |`10` |内存清理的时间间隔,单位:秒。`memory_purge_enabled`为`true`时,该参数生效。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :------------------------------------------ |---------------------| +|`memory_tracker_limit_ratio` |`0.8` |可用内存的百分比,当可用内存低于该值时,NebulaGraph 会停止接受查询。
计算公式:可用内存/(总内存 - 保留内存)。
**注意**:对于混合部署的集群,需要根据实际情况**调小**该参数。例如,当预期 Graphd 只占用 50% 的内存时,该参数的值可设置为小于`0.5`。|支持| +|`memory_tracker_untracked_reserved_memory_mb` |`50`|保留内存的大小,单位:MB。|支持| +|`memory_tracker_detail_log` |`false` | 是否定期生成较详细的内存跟踪日志。当值为`true`时,会定期生成内存跟踪日志。|支持| +|`memory_tracker_detail_log_interval_ms` |`60000`|内存跟踪日志的生成时间间隔,单位:毫秒。仅当`memory_tracker_detail_log`为`true`时,该参数生效。|支持| +|`memory_purge_enabled` |`true` |是否定期开启内存清理功能。当值为`true`时,会定期清理内存。|支持| +|`memory_purge_interval_seconds` |`10` |内存清理的时间间隔,单位:秒。`memory_purge_enabled`为`true`时,该参数生效。|支持| diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md index cc27fe64c6..0c1fdd94df 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md @@ -15,6 +15,10 @@ Storage 服务提供了两份初始配置文件`nebula-storaged.conf.default`和 配置文件内没有设置某个参数表示参数使用的是默认值。文件内只预设了部分参数的值,而且两份初始配置文件内的参数值也略有不同,本文的预设值以`nebula-storaged.conf.default`文件为准,其中没有的参数则以`nebula-storaged.conf.production`文件为准。 +!!! caution + + 配置文件中的部分参数值可以在运行时动态修改。本文将这些参数标记为支持运行时动态修改,并当`local_config`值设置为`true`时重启服务后配置会恢复为初始配置。详情参见[修改配置](1.configurations.md)。 + !!! Note Raft Listener 的配置和 Storage 服务配置不同,详情请参见[部署 Raft listener](../../4.deployment-and-installation/6.deploy-text-based-index/3.deploy-listener.md)。 @@ -23,12 +27,12 @@ Storage 服务提供了两份初始配置文件`nebula-storaged.conf.default`和 ## basics 配置 -| 名称 | 预设值 | 说明 | -| :----------- | :----------------------- | :------------------| -| `daemonize` | `true` | 是否启动守护进程。 | -| `pid_file` | `pids/nebula-storaged.pid` | 记录进程 ID 的文件。 | -| `timezone_name` | `UTC+00:00:00` | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,如需使用请手动添加。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 | -| `local_config` | `true` | 是否从配置文件获取配置信息。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------- | :----------------------- | :------------------|:----------------------- | +| `daemonize` | `true` | 是否启动守护进程。 |不支持| +| `pid_file` | `pids/nebula-storaged.pid` | 记录进程 ID 的文件。 |不支持| +| `timezone_name` | `UTC+00:00:00` | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,如需使用请手动添加。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 |不支持| +| `local_config` | `true` | 是否从配置文件获取配置信息。 |不支持| !!! Note @@ -37,28 +41,28 @@ Storage 服务提供了两份初始配置文件`nebula-storaged.conf.default`和 ## logging 配置 -| 名称 | 预设值 | 说明 | -| :------------- | :------------------------ | :------------------------------------------------ | -| `log_dir` | `logs` | 存放 Storage 服务日志的目录,建议和数据保存在不同硬盘。 | -| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值:`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 | -| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 | -| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 | -|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 | -|`stdout_log_file` |`storaged-stdout.log` | 标准输出日志文件名称。 | -|`stderr_log_file` |`storaged-stderr.log` | 标准错误日志文件名称。 | -|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 | -| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------- | :------------------------ | :---------------------------------- |:----------------------- | +| `log_dir` | `logs` | 存放 Storage 服务日志的目录,建议和数据保存在不同硬盘。 |不支持| +| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值:`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 |支持| +| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 |支持| +| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 |不支持| +|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 |不支持| +|`stdout_log_file` |`storaged-stdout.log` | 标准输出日志文件名称。 |不支持| +|`stderr_log_file` |`storaged-stderr.log` | 标准错误日志文件名称。 |不支持| +|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 |不支持| +| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 |不支持| ## networking 配置 -| 名称 | 预设值 | 说明 | -| :----------------------- | :---------------- | :---------------------------------------------------- | -| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 | -|`local_ip` | `127.0.0.1` | Storage 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-storaged 进程,如果是分布式集群或需要远程访问,请修改为对应地址。| -| `port` | `9779` | Storage 服务的 RPC 守护进程监听端口。Storage 服务对外端口为`9779`,对内端口为`9777`、`9778`和`9780`,NebulaGraph 使用内部端口进行多副本间的交互。
`9777`:drainer 服务占用端口,仅在企业版集群中暴露;`9778`:Admin 服务(Storage 接收 Meta 命令的服务)占用的端口;`9780`:Raft 通信端口。| -| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 | -| `ws_http_port` | `19779` | HTTP 服务的端口。 | -|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------------------- | :---------------- | :------------------------|:----------------------- | +| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 |不支持| +|`local_ip` | `127.0.0.1` | Storage 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-storaged 进程,如果是分布式集群或需要远程访问,请修改为对应地址。|不支持| +| `port` | `9779` | Storage 服务的 RPC 守护进程监听端口。Storage 服务对外端口为`9779`,对内端口为`9777`、`9778`和`9780`,NebulaGraph 使用内部端口进行多副本间的交互。
`9777`:drainer 服务占用端口,仅在企业版集群中暴露;`9778`:Admin 服务(Storage 接收 Meta 命令的服务)占用的端口;`9780`:Raft 通信端口。|不支持| +| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 |不支持| +| `ws_http_port` | `19779` | HTTP 服务的端口。 |不支持| +|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 |支持| !!! caution @@ -66,30 +70,30 @@ Storage 服务提供了两份初始配置文件`nebula-storaged.conf.default`和 ## raft 配置 -| 名称 | 预设值 | 说明 | -| :--------------------------- | :-------- | :------------------------ | -|`raft_heartbeat_interval_secs`| `30` | Raft 选举超时时间。单位:秒。 | -|`raft_rpc_timeout_ms` | `500` | Raft 客户端的远程过程调用(RPC)超时时间。单位:毫秒。 | -|`wal_ttl` | `14400` | Raft WAL 的有效时间。单位:秒。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :--------------------------- | :-------- | :------------------------ |:----------------------- | +|`raft_heartbeat_interval_secs`| `30` | Raft 选举超时时间。单位:秒。 |支持| +|`raft_rpc_timeout_ms` | `500` | Raft 客户端的远程过程调用(RPC)超时时间。单位:毫秒。 |支持| +|`wal_ttl` | `14400` | Raft WAL 的有效时间。单位:秒。 |支持| ## disk 配置 -| 名称 | 预设值 | 说明 | -| :--------------------------| :-------------- | :------------------------ | -|`data_path` | `data/storage` | 数据存储路径,多个路径用英文逗号(,)分隔。一个 RocksDB 实例对应一个路径。 | -|`minimum_reserved_bytes`|`268435456`|每个数据存储路径的剩余空间最小值,低于该值时,可能会导致集群数据写入失败。单位:字节。| -|`rocksdb_batch_size` | `4096` | 批量操作的缓存大小。单位:字节。 | -|`rocksdb_block_cache` | `4` | BlockBasedTable 的默认块缓存大小。单位:兆字节。 | -|`disable_page_cache` |`false`|允许或禁止 NebulaGraph 使用操作系统的页缓存。默认值为`false`,表示允许使用 page cache。当值为`true`时,禁止 NebulaGraph 使用 page cache,此时须设置充足的块缓存(block cache)空间。| -|`engine_type` | `rocksdb` | 存储引擎类型。 | -|`rocksdb_compression` | `lz4` | 压缩算法,可选值:`no`、`snappy`、`lz4`、`lz4hc`、`zlib`、`bzip2`、`zstd`。
该参数会修改每一层的压缩算法,如需为不同层级设置不同的压缩算法,请使用`rocksdb_compression_per_level`参数。 | -|`rocksdb_compression_per_level` | - | 为不同层级设置不同的压缩算法。优先级高于`rocksdb_compression`。例如`no:no:lz4:lz4:snappy:zstd:snappy`。
也可以不设置某个层级的压缩算法,例如`no:no:lz4:lz4::zstd`,此时 L4、L6 层使用`rocksdb_compression`参数的压缩算法。 | -|`enable_rocksdb_statistics` | `false` | 是否启用 RocksDB 的数据统计。 | -|`rocksdb_stats_level` | `kExceptHistogramOrTimers` | RocksDB 的数据统计级别。可选值:`kExceptHistogramOrTimers`(禁用计时器统计,跳过柱状图统计)、`kExceptTimers`(跳过计时器统计)、`kExceptDetailedTimers`(收集除互斥锁和压缩花费时间之外的所有统计数据)、`kExceptTimeForMutex`收集除互斥锁花费时间之外的所有统计数据)、`kAll`(收集所有统计数据)。 | -|`enable_rocksdb_prefix_filtering` | `true` | 是否启用 prefix bloom filter,启用时可以提升图遍历速度,但是会增加内存消耗。 | -|`enable_rocksdb_whole_key_filtering` | `false` | 是否启用 whole key bloom filter。 | -|`rocksdb_filtering_prefix_length` | `12` | 每个 key 的 prefix 长度。可选值:`12`(分片 ID+点 ID)、`16`(分片 ID+点 ID+TagID/Edge typeID)。单位:字节。 | -|`enable_partitioned_index_filter`|`false` |设置为`true`可以降低 bloom 过滤器占用的内存大小,但是在某些随机寻道(random-seek)的情况下,可能会降低读取性能。初始配置文件中未设置该参数,如需使用请手动添加。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :--------------------------| :-------------- | :------------------------ |:----------------------- | +|`data_path` | `data/storage` | 数据存储路径,多个路径用英文逗号(,)分隔。一个 RocksDB 实例对应一个路径。 |不支持| +|`minimum_reserved_bytes`|`268435456`|每个数据存储路径的剩余空间最小值,低于该值时,可能会导致集群数据写入失败。单位:字节。|不支持| +|`rocksdb_batch_size` | `4096` | 批量操作的缓存大小。单位:字节。 |不支持| +|`rocksdb_block_cache` | `4` | BlockBasedTable 的默认块缓存大小。单位:兆字节。 |不支持| +|`disable_page_cache` |`false`|允许或禁止 NebulaGraph 使用操作系统的页缓存。默认值为`false`,表示允许使用 page cache。当值为`true`时,禁止 NebulaGraph 使用 page cache,此时须设置充足的块缓存(block cache)空间。|不支持| +|`engine_type` | `rocksdb` | 存储引擎类型。 |不支持| +|`rocksdb_compression` | `lz4` | 压缩算法,可选值:`no`、`snappy`、`lz4`、`lz4hc`、`zlib`、`bzip2`、`zstd`。
该参数会修改每一层的压缩算法,如需为不同层级设置不同的压缩算法,请使用`rocksdb_compression_per_level`参数。 |不支持| +|`rocksdb_compression_per_level` | - | 为不同层级设置不同的压缩算法。优先级高于`rocksdb_compression`。例如`no:no:lz4:lz4:snappy:zstd:snappy`。
也可以不设置某个层级的压缩算法,例如`no:no:lz4:lz4::zstd`,此时 L4、L6 层使用`rocksdb_compression`参数的压缩算法。 |不支持| +|`enable_rocksdb_statistics` | `false` | 是否启用 RocksDB 的数据统计。 |不支持| +|`rocksdb_stats_level` | `kExceptHistogramOrTimers` | RocksDB 的数据统计级别。可选值:`kExceptHistogramOrTimers`(禁用计时器统计,跳过柱状图统计)、`kExceptTimers`(跳过计时器统计)、`kExceptDetailedTimers`(收集除互斥锁和压缩花费时间之外的所有统计数据)、`kExceptTimeForMutex`收集除互斥锁花费时间之外的所有统计数据)、`kAll`(收集所有统计数据)。 |不支持| +|`enable_rocksdb_prefix_filtering` | `true` | 是否启用 prefix bloom filter,启用时可以提升图遍历速度,但是会增加内存消耗。 |不支持| +|`enable_rocksdb_whole_key_filtering` | `false` | 是否启用 whole key bloom filter。 |不支持| +|`rocksdb_filtering_prefix_length` | `12` | 每个 key 的 prefix 长度。可选值:`12`(分片 ID+点 ID)、`16`(分片 ID+点 ID+TagID/Edge typeID)。单位:字节。 |不支持| +|`enable_partitioned_index_filter`|`false` |设置为`true`可以降低 bloom 过滤器占用的内存大小,但是在某些随机寻道(random-seek)的情况下,可能会降低读取性能。初始配置文件中未设置该参数,如需使用请手动添加。|不支持|