BE 配置项
部分 BE 节点配置项为动态参数,您可以通过命令在线修改。其他配置项为静态参数,需要通过修改 be.conf 文件后重启 BE 服务使相关修改生效。
查看 BE 配置项
您可以通过以下命令查看 BE 配置项:
curl http://<BE_IP>:<BE_HTTP_PORT>/varz
配置 BE 参数
配置 BE 动态参数
您可以通过 curl
命令在线修改 BE 节点动态参数。
curl -XPOST http://be_host:http_port/api/update_config?configuration_item=value
配置 BE 静态参数
BE 静态参数不支持在线修改,您需要在 be.conf 中修改并重启 BE 服务。
BE 参数描述
Server
priority_networks
- 默认值:空字符串
- 类型:String
- 单位:-
- 是否动态:否
- 描述:为有多个 IP 地址的服务器声明 IP 选择策略。请注意,最多应该有一个 IP 地址与此列表匹配。此参数的值是一个以分号分隔格式的列表,用 CIDR 表示法,例如
10.10.10.0/24
。如果没有 IP 地址匹配此列表中的条目,系统将随机选择服务器的一个可用 IP 地址。从 v3.3.0 开始,StarRocks 支持基于 IPv6 的部署。如果服务器同时具有 IPv4 和 IPv6 地址,并且未指定此参数,系统将默认使用 IPv4 地址。您可以通过将net_use_ipv6_when_priority_networks_empty
设置为true
来更改此行为。 - 引入版本:-
net_use_ipv6_when_priority_networks_empty
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:否
- 描述:用于控制在未指定
priority_networks
时是否优先使用 IPv6 地址的布尔值。true
表示当托管节点的服务器同时具有 IPv4 和 IPv6 地址且未指定priority_networks
时,允许系统优先使用 IPv6 地址。 - 引入版本:-
mem_limit
- 默认值:90%
- 类型:String
- 单位:-
- 是否动态:否
- 描述:BE 进程内存上限。可设为比例上限(如 "80%")或物理上限(如 "100G")。默认的硬限制为服务器内存大小的 90%,软限制为 80%。如果您希望在同一台服务器上同时部署 StarRocks 和其他内存密集型服务,则需要配置此参数。
- 引入版本:-
num_threads_per_core
- 默认值:3
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:每个 CPU Core 启动的线程数。
- 引入版本:-
be_http_port
- 默认值:8040
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:BE HTTP Server 端口。
- 引入版本:-
be_http_num_workers
- 默认值:48
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:HTTP Server 线程数。
- 引入版本:-
be_exit_after_disk_write_hang_second
- 默认值:60
- 类型:Int
- 单位:Seconds
- 是否动态:否
- 描 述:磁盘挂起后触发 BE 进程退出的等待时间。
- 引入版本:-
compress_rowbatches
- 默认值:true
- 类型:Boolean
- 单位:-
- 是否动态:否
- 描述:BE 之间 RPC 通信是否压缩 RowBatch,用于查询层之间的数据传输。
true
表示压缩,false
表示不压缩。 - 引入版本:-
serialize_batch
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:否
- 描述:BE 之间 RPC 通信是否序列化 RowBatch,用于查询层之间的数据传输。
true
表示序列化,false
表示不进行序列化。 - 引入版本:-
Thrift
be_port
- 默认值:9060
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:BE 上 Thrift Server 的端口,用于接收来自 FE 的请求。
- 引入版本:-
thrift_client_retry_interval_ms
- 默认值:100
- 类型:Int
- 单位:Milliseconds
- 是否动态:是
- 描述:Thrift Client 默认的重试时间间隔。
- 引入版本:-
thrift_rpc_timeout_ms
- 默认值:5000
- 类型:Int
- 单位:Milliseconds
- 是否动态:是
- 描述:Thrift RPC 超时的时长。
- 引入版本:-
bRPC
brpc_port
- 默认值:8060
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:bRPC 的端口,可以查看 bRPC 的一些网络统计信息。
- 引入版本:-
brpc_num_threads
- 默认值:-1
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:bRPC 的 bthread 线程数量,
-1
表示和 CPU 核数一样。 - 引入版本:-
brpc_max_body_size
- 默认值:2147483648
- 类型:Int
- 单位:Bytes
- 是否动态:否
- 描述:bRPC 最大的包容量。
- 引入版本:-
Heartbeat
heartbeat_service_port
- 默认值:9050
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:BE 心跳服务端口,用于接收来自 FE 的心跳。
- 引入版本:-
heartbeat_service_thread_count
- 默认值:1
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:心跳线程数。
- 引入版本:-
日志
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_verbose_modules
- 默认值:
- 类型:Strings
- 单位:-
- 是否动态:否
- 描述:日志打印的模块。有效值为 BE 的 namespace,包括
starrocks
、starrocks::debug
、starrocks::fs
、starrocks::io
、starrocks::lake
、starrocks::pipeline
、starrocks::query_cache
、starrocks::stream
以及starrocks::workgroup
。 - 引入版本:-
sys_log_verbose_level
- 默认值:10
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:日志显示的级别,用于控制代码中 VLOG 开头的日志输出。
- 引入版本:-
log_buffer_level
- 默认值:空字符串
- 类型:String
- 单位:-
- 是否动态:否
- 描述:日志落盘的策略。默认值表示日志缓存在内存中。有效值为
-1
和0
。-1
表示日志不在内存中缓存。 - 引入版本:-
统计信息
report_task_interval_seconds
- 默认值:10
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:汇报单个任务的间隔。建表,删除表,导入,Schema Change 都可以被认定是任务。
- 引入版本:-
report_disk_state_interval_seconds
- 默认值:60
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:汇报磁盘状态的间隔。汇报各个磁盘的状态,以及其中数据量等。
- 引入版本:-
report_tablet_interval_seconds
- 默认值:60
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:汇报 Tablet 的间隔。汇报所有的 Tablet 的最新版本。
- 引入版本:-
report_workgroup_interval_seconds
- 默认值:5
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:汇报 Workgroup 的间隔。汇报所有 Workgroup 的最新版本。
- 引入版本:-
status_report_interval
- 默认值:5
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:查询汇报 Profile 的间隔,用于 FE 收集查询统计信息。
- 引入版本:-
periodic_counter_update_period_ms
- 默认值:500
- 类型:Int
- 单位:Milliseconds
- 是否动态:是
- 描述:Counter 统计信息的间隔。
- 引入版本:-
存储
primary_key_limit_size
- 默认值:128
- 类型:Int
- 单位:Byte
- 是否动态:是
- 描述:主键表中单条主键值最大长度。
- 引入版本:v2.5
drop_tablet_worker_count
- 默认值:3
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:删除 Tablet 的线程数。
- 引入版本:-
alter_tablet_worker_count
- 默认值:3
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:进行 Schema Change 的线程数。自 2.5 版本起,该参数由静态变为动态。
- 引入版本:-
clone_worker_count
- 默认值:3
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:克隆的线程数。
- 引入版本:-
storage_medium_migrate_count
- 默认值:3
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:介质迁移的线程数,用于从 SATA 迁移到 SSD。
- 引入版本:-
check_consistency_worker_count
- 默认值:1
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:计算 Tablet 的校验和(checksum)的线程数。
- 引入版本:-
upload_worker_count
- 默认值:0
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:BE 节点上传任务的最大线程数,用于备份作业。
0
表示设置线程数为 BE 所在机器的 CPU 核数。 - 引入版本:-
download_worker_count
- 默认值:0
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:BE 节点下载任务的最大线程数,用于恢复作业。
0
表示设置线程数为 BE 所在机器的 CPU 核数。 - 引入版本:-
make_snapshot_worker_count
- 默认值:5
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:BE 节点快照任务的最大线程数。
- 引入版本:-
release_snapshot_worker_count
- 默认值:5
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:BE 节点释放快照任务的最大线程数。
- 引入版本:-
max_download_speed_kbps
- 默认值:50000
- 类型:Int
- 单位:KB/Second
- 是否动态:是
- 描述:单个 HTTP 请求的最大下载速率。这个值会影响 BE 之间同步数据副本的速度。
- 引入版本:-
download_low_speed_limit_kbps
- 默认值:50
- 类型:Int
- 单位:KB/Second
- 是否动态:是
- 描述:单个 HTTP 请求的下载速率下限。如果在
download_low_speed_time
秒内下载速度一直低于download_low_speed_limit_kbps
,那么请求会被终止。 - 引入版本:-
download_low_speed_time
- 默认值:300
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:单个 HTTP 请求持续以低于
download_low_speed_limit_kbps
值的速度运行时,允许运行的最长时间。在配置项中指定的时间跨度内,当一个 HTTP 请求持续以低于该值的速度运行时,该请求将被中止。 - 引入版本:-
memory_limitation_per_thread_for_schema_change
- 默认值:2
- 类型:Int
- 单位:GB
- 是否动态:是
- 描述:单个 Schema Change 任务允许占用的最大内存。
- 引入版本:-
update_cache_expire_sec
- 默认值:360
- 类型:Int
- 单位 :Seconds
- 是否动态:是
- 描述:Update Cache 的过期时间。
- 引入版本:-
file_descriptor_cache_clean_interval
- 默认值:3600
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:文件描述符缓存清理的间隔,用于清理长期不用的文件描述符。
- 引入版本:-
disk_stat_monitor_interval
- 默认值:5
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:磁盘健康状态检测的间隔。
- 引入版本:-
replication_threads
- 默认值:0
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:用于同步的最大线程数。0 表示将线程数设置为 BE CPU 内核数的四倍。
- 引入版本:v3.3.5
replication_max_speed_limit_kbps
- 默认值:50000
- 类型:Int
- 单位:KB/s