BE 配置项 - 存算分离、数据湖和其他
部分 BE 节点配置项为动态参数,您可以通过命令在线修改。其他配置项为静态参数,需要通过修改 be.conf 文件后重启 BE 服务使相关修改生效。
查看 BE 配置项
您可以通过以下命令查看 BE 配置项:
SELECT * FROM information_schema.be_configs [WHERE NAME LIKE "%<name_pattern>%"]
配置 BE 参数
配置 BE 动态参数
您可以通过更新 information_schema.be_configs 中的值来配置 BE 节点的动态参数。
warning
设置无效的值可能会导致未知行为。在运行更新配置的命令之前,请务必仔细核对。
-- 将 <config_key> 替换为配置键,将 <config_value> 替换为配置值。
UPDATE information_schema.be_configs SET VALUE = <config_value> WHERE name = "<config_key>";
配置 BE 静态参数
BE 静态参数不支持在线修改,您需要在 be.conf 中修改并重启 BE 服务。
当前主题包含以下类型的 FE 配置:
存算分离
cloud_native_pk_index_rebuild_files_threshold
- 默认值:50
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:云原生主键索引在恢复(Rebuild)时允许重建的最大 Segment 文件数。若需要重建的文件数超过该阈值,StarRocks 会立即将内存中的 MemTable 刷盘,以减少需要重放的 Segment 数量。设置为
0则禁用此提前刷盘策略。 - 引入版本:-
cloud_native_pk_index_rebuild_rows_threshold
- 默认值:10000000
- 类型:Long
- 单位:行
- 是否动态:是
- 描述:云原生主键索引在恢复(Rebuild)时允许重建的最大行数。若需要重建的行数超过该阈值,StarRocks 会立即将内存中的 MemTable 刷盘,以降低索引重建开销。设置为
0则禁用此提前刷盘策略。与cloud_native_pk_index_rebuild_files_threshold配合使用,任一阈值超出均会触发刷盘。 - 引入版本:-
download_buffer_size
- 默认值:4194304
- 类型:Int
- 单位:Bytes
- 是否动态:是
- 描述:下载快照文件时每条传输流使用的内存缓冲区大小(fs::copy 的单次读写块大小)。值越大吞吐越高但每个并发下载占用更多内存。
- 引入版本:v3.2.13
graceful_exit_wait_for_frontend_heartbeat
- 默认值:false
- 类型: Boolean
- 单位:-
- 是否动态:是
- 描述: 确定是否在完成优雅退出前等待至少一个指示SHUTDOWN状态的FE心跳响应。启用后,优雅关闭进程将持续运行直至通过心跳RPC返回给FE SHUTDOWN状态变化,确保FE在两次常规心跳探测间隔期间有足够时间感知终止状态。
- 引入版本:v3.4.5
lake_compaction_stream_buffer_size_bytes
- 默认值:1048576
- 类型:Int
- 单位:Bytes
- 是否动态:是
- 描述:存算分离集群 Compaction 任务在远程 FS 读 I/O 阶段的 Buffer 大小。默认值为 1MB。您可以适当增大该配置项取值以加速 Compaction 任务。
- 引入版本:v3.2.3
lake_pk_compaction_max_input_rowsets
- 默认值:500
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:存算分离集群下,主键表 Compaction 任务中允许的最大输入 Rowset 数量。该参数默认值自 v3.2.4 和 v3.1.10 版本开始从
5变更为1000,并自 v3.3.1 和 v3.2.9 版本开始变更为500。存算分离集群中的主键表在开启 Sized-tiered Compaction 策略后 ( 即设置enable_pk_size_tiered_compaction_strategy为true),无需通过限制每次 Compaction 的 Rowset 个数来降低写放大,因此调大该值。 - 引入版本:v3.1.8, v3.2.3
loop_count_wait_fragments_finish
- 默认值:2
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:BE/CN 退出时需要等待正在执行的查询完成的轮次,一轮次固定 10 秒。设置为
0表示禁用轮询等待,立即退出。自 v3.4 起,该参数变为动态参数,且默认值由0变为2。 - 引入版本:v2.5
max_client_cache_size_per_host
- 默认值:10
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:BE 范围内的客户端缓存为每个远程主机保留的最大缓存 client 实例数。提高此值可以减少重连和 stub 创建开销,但会增加内存和文件描述符使用;降低它则节省资源但可能增加连接 churn。该值在启动时读取,运行时无法更改。目前一个共享设置控制所有客户端缓存类型;将来可能会引入每种缓存的独立配置。
- 引入版本:v3.2.0
starlet_filesystem_instance_cache_capacity
- 默认值:10000
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:starlet filesystem 实例的缓存容量。
- 引入版本:v3.2.16, v3.3.11, v3.4.1
starlet_filesystem_instance_cache_ttl_sec
- 默认值:86400
- 类型:Int
- 单位:秒
- 是否动态:是
- 描述:starlet filesystem 实例缓存的过期时间。
- 引入版本:v3.3.15, 3.4.5
starlet_port
- 默认值:9070
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:BE 和 CN 的额外 Agent 服务端口。
- 引入版本:-