Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

config-update #17

Merged
merged 2 commits into from
May 12, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,77 @@
# CONFIGS 语法

CONFIGS 语法用于显示和修改可以动态更改的配置参数,这些配置参数大多数可以立刻生效,少部分需要重启后生效。
具体见 meta, graph, storage 配置文件说明。
## 配置介绍

**Nebula Graph** 默认从 meta 获取配置。如果您希望从本地获取配置,请分别在配置文件 `metad.conf`、`storaged.conf`、`graphd.conf` 添加 `--local_config=true` 选项。

**注意:**

- 默认的配置寻找优先级:meta service > 命令行 `UPDATE CONFIG` 语法 > 本地环境变量 > 本地配置文件。
- 如果将 `--local_config` 设置为 true,则先到本地配置文件中寻找;然后依次 meta service, 和环境变量。
- 更改配置文件后需重启服务方可生效。
- 命令行中的配置更改实时生效。

## gflag 参数

**Nebula Graph** 使用 `gflags` 参数进行运行时配置。`gflags` 参数见下表。

名称 | 类型 | 描述
--------------------------------- | ------- | -----------
max_edge_returned_per_vertex | MUTABLE | 控制某个顶点返回的最大边数
minloglevel | MUTABLE | 最小日志级别
v | MUTABLE | 调试日志级别
heartbeat_interval_secs | MUTABLE | 心跳间隔
meta_client_retry_times | MUTABLE | Meta 客户端重试次数。
slow_op_threshhold_ms | MUTABLE | 慢速运行的默认阈值,以毫秒为单位
wal_ttl | MUTABLE | 磁盘预写日志的生存时间。默认值为 `14400` 秒。最小值为 `3600` 秒,当设置小于最小值时,nebual 将忽略设置,此时值为 `3600` 秒。
rocksdb_db_options | NESTED | 参数为json格式,其键和值均为字符串格式。
rocksdb_column_family_options | NESTED | 参数为json格式,其键和值均为字符串格式。
rocksdb_block_based_table_options | NESTED | 参数为json格式,其键和值均为字符串格式。

例如,您可以在 storage 的配置文件中进行如下设置:

```text
rocksdb_db_options = {"stats_dump_period_sec":"200", "enable_write_thread_adaptive_yield":"false", "write_thread_max_yield_usec":"600"}
rocksdb_column_family_options = {"max_write_buffer_number":"4", "min_write_buffer_number_to_merge":"2", "max_write_buffer_number_to_maintain":"1"}
rocksdb_block_based_table_options = {"block_restart_interval":"2"}
"max_edge_returned_per_vertex":"INT_MAX"
```

**Nebula Graph** 支持更改 storage 服务的如下 RocksDB 参数:

```text
// rocksdb_column_family_options
disable_auto_compactions
write_buffer_size
max_write_buffer_number
level0_file_num_compaction_trigger
level0_slowdown_writes_trigger
level0_stop_writes_trigger
target_file_size_base
target_file_size_multiplier
max_bytes_for_level_base
max_bytes_for_level_multiplier

// rocksdb_db_options
max_total_wal_size
delete_obsolete_files_period_micros
max_background_jobs
stats_dump_period_sec
compaction_readahead_size
writable_file_max_buffer_size
bytes_per_sync
wal_bytes_per_sync
delayed_write_rate
avoid_flush_during_shutdown
max_open_files
```

例如:

```ngql
nebula> UPDATE CONFIGS storage:rocksdb_column_family_options = \
{ disable_auto_compactions = false, level0_file_num_compaction_trigger = 10 }
```

## 显示配置

Expand Down Expand Up @@ -47,7 +117,7 @@ UPDATE CONFIGS [graph|storage :] <var> = <value>
```

> 更新的变量将持久化在 meta-service 中。

> 如果配置模式为 `MUTABLE`,则更改将立即生效。如果模式为 `REBOOT`,则更改将在服务器重新启动后生效。
> 支持在 UPDATE CONFIGS 中使用算术计算。

例如
Expand Down