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 配置:
日志
diagnose_stack_trace_interval_ms
- 默认值:1800000
- 类型:Int
- 单位:Milliseconds
- 是否动态:是
- 描述:DiagnoseDaemon 处理
STACK_TRACE请求时,两次堆栈诊断的最小时间间隔。若距离上次采集不足该间隔则跳过,以减少频繁堆栈抓取的 CPU 和日志开销;排查瞬时问题可适当调小。 - 引入版本:v3.5.0
load_rpc_slow_log_frequency_threshold_seconds
- 默认值:60
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:控制导入类 RPC 超时慢日志的打印频率。超过超时的导入 RPC 会按该间隔输出慢日志(包含 load channel 运行时 profile);设为 0 则几乎每次超时都会记录。
- 引入版本:v3.4.3, v3.5.0
log_buffer_level
- 默认值:空字符串
- 类型:String
- 单位:-
- 是否动态:否
- 描述:日志落盘的策略。默认值表示日志缓存在内存中。有效值为
-1和0。-1表示日志不在内存中缓存。 - 引入版本:-
pprof_profile_dir
- 默认值:
${STARROCKS_HOME}/log - 类型:string
- 单位:-
- 是否动态:否
- 描述:StarRocks 写入 pprof 工件(jemalloc 堆快照和 gperftools CPU 配置文件)的目录路径。代码会在此目录下构造文件名(例如
heap_profile.<pid>.<rand>和starrocks_profile.<pid>.<rand>),并且 /pprof/ 下的 HTTP 处理器会提供这些配置文件。在启动时,如果pprof_profile_dir非空,StarRocks 会尝试创建该目录。请确保该路径存在或对 BE 进程可写,并且有足够的磁盘空间;性能分析可能产生较大的文件,并在运行时影响性能。 - 引入版本:v3.2.0
sys_log_dir
- 默认值:
${STARROCKS_HOME}/log - 类型:String
- 单位:-
- 是否动态:否
- 描述:存放日志的地方,包括 INFO、WARNING、ERROR、FATAL 日志。
- 引入版本:-
sys_log_level
- 默认值:INFO
- 类型:String
- 单位:-
- 是否动态:是(自 v3.3.0、v3.2.7 及 v3.1.12 起)
- 描述:日志级别。有效值:INFO、WARNING、ERROR、FATAL。自 v3.3.0、v3.2.7 及 v3.1.12 起,该参数变为动态参数。
- 引入版本:-
sys_log_roll_mode
- 默认值:SIZE-MB-1024
- 类型:String
- 单位:-
- 是否动态:否
- 描述:系统日志分卷的模式。有效值包括
TIME-DAY、TIME-HOUR和SIZE-MB-大小。默认值表示日志被分割成大小为 1GB 的日志卷。 - 引入版本:-
sys_log_roll_num
- 默认值:10
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:日志卷保留的数目。
- 引入版本:-
sys_log_timezone
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:否
- 描述:是否在日志前缀中显示时区信息。
true表示显示时区信息,false表示不显示。 - 引入版本:-
sys_log_verbose_level
- 默认值:10
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:日志显示的级别,用于控制代码中 VLOG 开头的日志输出。
- 引入版本:-
sys_log_verbose_modules
- 默认值:
- 类型:Strings
- 单位:-
- 是否动态:否
- 描述:设置需要输出 VLOG 日志的文件名(去掉文件扩展名)或文件名通配符。可以指定多个文件名,用逗号分隔。例如,如果将此配置项设置为
storage_engine,tablet_manager,StarRocks 将打印 storage_engine.cpp、tablet_manager.cpp 文件的 VLOG 日志。您也可以使用通配符,如设置为*表示打印所有文件的 VLOG 日志。VLOG 日志打印级别通过sys_log_verbose_level参数控制。 - 引入版本:-
服务器
abort_on_large_memory_allocation
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:当单次分配超过
g_large_memory_alloc_failure_threshold时的处理策略。设为true会直接std::abort()(硬退出);设为false则阻塞并让分配返回失败(nullptr/ENOMEM)。仅对未走 TRY_CATCH_BAD_ALLOC 的分配生效,生产环境通常保持关闭,排查异常超大分配时可暂时开启。 - 引入版本:v3.4.3, v3.5.0, v4.0.0