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
- 是否动态:是
- 描述:每个同步线程的最大速度。
- 引入版本:v3.3.5
replication_min_speed_limit_kbps
- 默认值:50
- 类型:Int
- 单位:KB/s
- 是否动态:是
- 描述:每个同步线程的最小速度。
- 引入版本:v3.3.5
replication_min_speed_time_seconds
- 默认值:300
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:同步线程低于最低速度所允许的持续时间。如果实际速度低于
replication_min_speed_limit_kbps
的时间超过此值,同步将失败。 - 引入版本:v3.3.5
clear_expired_replication_snapshots_interval_seconds
- 默认值:3600
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:系统清除异常同步遗留的过期快照的时间间隔。
- 引入版本:v3.3.5
unused_rowset_monitor_interval
- 默认值:30
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:清理过期 Rowset 的时间间隔。
- 引入版本:-
storage_root_path
- 默认值:
${STARROCKS_HOME}/storage
- 类型:String
- 单位:-
- 是否动态:否
- 描述:存储数据的目录以及存储介质类型。示例:
/data1,medium:hdd;/data2,medium:ssd
。- 多块盘配置使用分号
;
隔开。 - 如果为 SSD 磁盘,需在路径后添加
,medium:ssd
。 - 如果为 HDD 磁盘,需在路径后添加
,medium:hdd
。
- 多块盘配置使用分号
- 引入版本:-
max_percentage_of_error_disk
- 默认值:0
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:错误磁盘达到该比例上限,BE 退出。
- 引入版本:-
default_num_rows_per_column_file_block
- 默认值:1024
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:每个 Row Block 最多存放的行数。
- 引入版本:-
max_tablet_num_per_shard
- 默认值:1024
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:每个 Shard 的 Tablet 数目,用于划分 Tablet,防止单个目录下 Tablet 子目录过多。
- 引入版本:-
pending_data_expire_time_sec
- 默认值:1800
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:存储引擎保留的未生效数据的最大时长。
- 引入版本:-
inc_rowset_expired_sec
- 默认值:1800
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:导入生效的数据,存储引擎保留的时间,用于增量克隆。
- 引入版本:-
tablet_rowset_stale_sweep_time_sec
- 默认值:1800
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:失效 Rowset 的清理间隔。
- 引入版本:-
max_garbage_sweep_interval
- 默认值:3600
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:磁盘进行垃圾清理的最大间隔。自 3.0 版本起,该参数由静态变为动态。
- 引入版本:-
min_garbage_sweep_interval
- 默认值:180
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:磁盘进行垃圾清理的最小间隔。自 3.0 版本起,该参数由静态变为动态。
- 引入版本:-
snapshot_expire_time_sec
- 默认值:172800
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:快照文件清理的间隔。
- 引入版本:-
trash_file_expire_time_sec
- 默认值:86400
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:回收站清理的间隔。自 v2.5.17、v3.0.9 以及 v3.1.6 起,默认值由 259200 变为 86400。
- 引入版本:-
compact_threads
- 默认值:4
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:并发 Compaction 任务的最大线程数。自 v3.1.7,v3.2.2 起变为动态参数。
- 引入版本:v3.0.0
base_compaction_check_interval_seconds
- 默认值:60
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:Base Compaction 线程轮询的间隔。
- 引入版本:-
min_base_compaction_num_singleton_deltas
- 默认值:5
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:触发 Base Compaction 的最小 Segment 数。
- 引入版本:-
max_base_compaction_num_singleton_deltas
- 默认值:100
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:单次 Base Compaction 合并的最大 Segment 数。
- 引入版本:-
base_compaction_num_threads_per_disk
- 默认值:1
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:每个磁盘 Base Compaction 线程的数目。
- 引入版本:-
base_cumulative_delta_ratio
- 默认值:0.3
- 类型:Double
- 单位:-
- 是否动态:是
- 描述:Cumulative 文件大小达到 Base 文件的比例。此项为 Base Compaction 触发条件之一。
- 引入版本:-
base_compaction_interval_seconds_since_last_operation
- 默认值:86400
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:上一轮 Base Compaction 距今的间隔。此项为 Base Compaction 触发条件之一。
- 引入版本:-
cumulative_compaction_check_interval_seconds
- 默认值:1
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:Cumulative Compaction 线程轮询的间隔。
- 引入版本:-
min_cumulative_compaction_num_singleton_deltas
- 默认值:5
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:触发 Cumulative Compaction 的最小 Segment 数。
- 引入版本:-
max_cumulative_compaction_num_singleton_deltas
- 默认值:1000
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:单次 Cumulative Compaction 能合并的最大 Segment 数。如果 Compaction 时出现内存不足的情况,可以调小该值。
- 引入版本:-
cumulative_compaction_num_threads_per_disk
- 默认值:1
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:每个磁盘 Cumulative Compaction 线程的数目。
- 引入版本:-
max_compaction_candidate_num
- 默认值:40960
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:Compaction 候选 Tablet 的最大数量。太大会导致内存占用和 CPU 负载高。
- 引入版本:-
update_compaction_check_interval_seconds
- 默认值:10
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:主键表 Compaction 的检查间隔。
- 引入版本:-
update_compaction_num_threads_per_disk
- 默认值:1
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:主键表每个磁盘 Compaction 线程的数目。
- 引入版本:-
update_compaction_per_tablet_min_interval_seconds
- 默认值:120
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:主键表每个 Tablet 做 Compaction 的最小时间间隔。
- 引入版本:-
max_update_compaction_num_singleton_deltas
- 默认值:1000
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:主键表单次 Compaction 合并的最大 Rowset 数。
- 引入版本:-
update_compaction_size_threshold
- 默认值:268435456
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:主键表的 Compaction Score 是基于文件大小计算的,与其他表类型的文件数量不同。通过该参数可以使主键表的 Compaction Score 与其他类型表的相近,便于用户理解。
- 引入版本:-
update_compaction_result_bytes
- 默认值:1073741824
- 类型:Int
- 单位:Bytes
- 是否动态:是
- 描述:主键表单次 Compaction 合并的最大结果的大小。
- 引入版本:-
update_compaction_delvec_file_io_amp_ratio
- 默认值:2
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:用于控制主键表包含 Delvec 文件的 Rowset 做 Compaction 的优先级。该值越大优先级越高。
- 引入版本:-
update_compaction_ratio_threshold
- 默认值:0.5
- 类型:Double
- 单位:-
- 是否动态:是
- 描述:存算分离集群下主键表单次 Compaction 可以合并的最大数据比例。如果单个 Tablet 过大,建议适当调小该配置项取值。
- 引入版本:v3.1.5
repair_compaction_interval_seconds
- 默认值:600
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:Repair Compaction 线程轮询的间隔。
- 引入版本:-
manual_compaction_threads
- 默认值:4
- 类型:Int
- 单位:-
- 是否 动态:否
- 描述:Number of threads for Manual Compaction.
- 引入版本:-
min_compaction_failure_interval_sec
- 默认值:120
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:Tablet Compaction 失败之后,再次被调度的间隔。
- 引入版本:-
min_cumulative_compaction_failure_interval_sec
- 默认值:30
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:Cumulative Compaction 失败后的最小重试间隔。
- 引入版本:-
max_compaction_concurrency
- 默认值:-1
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:Compaction 线程数上限(即 BaseCompaction + CumulativeCompaction 的最大并发)。该参数防止 Compaction 占用过多内存。
-1
代表没有限制。0
表示禁用 Compaction。开启 Event-based Compaction Framework 时,该参数才支持动态设置。 - 引入版本:-
compaction_trace_threshold
- 默认值:60
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:单次 Compaction 打印 Trace 的时间阈值,如果单次 Compaction 时间超过该阈值就打印 Trace。
- 引入版本:-
enable_rowset_verify
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:是否检查 Rowset 的正确性。开启后,会在 Compaction、Schema Change 后检查生成的 Rowset 的正确性。
- 引入版本:-
vertical_compaction_max_columns_per_group
- 默认值:5
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:每组 Vertical Compaction 的最大列数。
- 引入版本:-
enable_event_based_compaction_framework
- 默认值:true
- 类型:Boolean
- 单位:-
- 是否动态:否
- 描述:是否开启 Event-based Compaction Framework。
true
代表开启。false
代表关闭。开启则能够在 Tablet 数比较多或者单个 Tablet 数据量比较大的场景下大幅降低 Compaction 的开销。 - 引入版本:-
enable_size_tiered_compaction_strategy
- 默认值:true
- 类型:Boolean
- 单位:-
- 是否动态:否
- 描述:是否开启 Size-tiered Compaction 策略 (Primary Key 表除外)。
true
代表开启。false
代表关闭。 - 引入版本:-
enable_pk_size_tiered_compaction_strategy
- 默认值:true
- 类型:Boolean
- 单位:-
- 是否动态:否
- 描述:是否为 Primary Key 表开启 Size-tiered Compaction 策略。
true
代表开启。false
代表关闭。 - 引入版本:存算分离集群自 v3.2.4, v3.1.10 起生效,存算一体集群自 v3.2.5, v3.1.10 起生效
size_tiered_min_level_size
- 默认值:131072
- 类型:Int
- 单位:Bytes
- 是否动态:是
- 描述:Size-tiered Compaction 策略中,最小 Level 的大小,小于此数值的 Rowset 会直接触发 Compaction。
- 引入版本:-
size_tiered_level_multiple
- 默认值:5
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:Size-tiered Compaction 策略中,相邻两个 Level 之间相差的数据量的倍数。
- 引入版本:-
size_tiered_level_multiple_dupkey
- 默认值:10
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:Size-tiered Compaction 策略中,Duplicate Key 表相邻两个 Level 之间相差的数据量的倍数。
- 引入版本:-
size_tiered_level_num
- 默认值:7
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:Size-tiered Compaction 策略的 Level 数量。每个 Level 最多保留一个 Rowset,因此稳定状态下最多会有和 Level 数相同的 Rowset。
- 引入版本:-
enable_check_string_lengths
- 默 认值:true
- 类型:Boolean
- 单位:-
- 是否动态:否
- 描述:是否在导入时进行数据长度检查,以解决 VARCHAR 类型数据越界导致的 Compaction 失败问题。
- 引入版本:-
max_row_source_mask_memory_bytes
- 默认值:209715200
- 类型:Int
- 单位:Bytes
- 是否动态:否
- 描述:Row source mask buffer 的最大内存占用大小。当 buffer 大于该值时将会持久化到磁盘临时文件中。该值应该小于
compaction_mem_limit
参数的值。 - 引入版本:-
memory_maintenance_sleep_time_s
- 默认值:10
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:触发 ColumnPool GC 任务的时间间隔。StarRocks 会周期运行 GC 任务,尝试将空闲内存返还给操作系统。
- 引入版本:-
sync_tablet_meta
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:是否启用 Tablet 元数据同步。
true
表示开启,false
表示不开启。 - 引入版本:-
storage_flood_stage_usage_percent
- 默认值:95
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:BE 存储目录整体磁盘空间使用率的硬上限。如果空间使用率超过该值且剩余空间小于
storage_flood_stage_left_capacity_bytes
,StarRocks 会拒绝 Load 和 Restore 作业。需要同步修改 FE 配置storage_usage_hard_limit_percent
以使其生效。 - 引入版本:-
storage_flood_stage_left_capacity_bytes
- 默认值:107374182400
- 类型:Int
- 单位:Bytes
- 是否动态:是
- 描述:BE 存储目录整体磁盘剩余空间的硬限制。如果剩余空间小于该值且空间使用率超过
storage_flood_stage_usage_percent
,StarRocks 会拒绝 Load 和 Restore 作业,默认 100GB。需要同步修改 FE 配置storage_usage_hard_limit_reserve_bytes
以使其生效。 - 引入版本:-
tablet_meta_checkpoint_min_new_rowsets_num
- 默认值:10
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:自上次 TabletMeta Checkpoint 至今新创建的 Rowset 数量。
- 引入版本:-
tablet_meta_checkpoint_min_interval_secs
- 默认值:600
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:TabletMeta Checkpoint 线程轮询的时间间隔。
- 引入版本:-
tablet_map_shard_size
- 默认值:32
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:Tablet Map Shard 大小。该值必须是二的倍数。
- 引入版本:-
tablet_max_versions
- 默认值:1000
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:每个 Tablet 上允许的最大版本数。如果超过该值,新的写入请求会失败。
- 引入版本:-
tablet_max_pending_versions
- 默认值:1000
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:主键表每个 Tablet 上允许已提交 (Commit) 但是未 Apply 的最大版本数。
- 引入版本:-
tablet_stat_cache_update_interval_second
- 默认值:300
- 类型:Int
- 单位:Seconds
- 是否动态:是
- 描述:Tablet Stat Cache 的更新间隔。
- 引入版本:-
enable_bitmap_union_disk_format_with_set
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:是否开启 Bitmap 新存储格式,可以优化 bitmap_union 性能。
true
表示开启,false
表示不开启。 - 引入版本:-
pindex_major_compaction_limit_per_disk
- 默认值:1
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:每块盘 Compaction 的最大并发数,用于解决 Compaction 在磁盘之间不均衡导致个别磁盘 I/O 过高的问题。
- 引入版本:v3.0.9
导入导出
push_worker_count_normal_priority
- 默认值:3
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:导入线程数,用于处理 NORMAL 优先级任务。
- 引入版本:-
push_worker_count_high_priority
- 默认值:3
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:导入线程数,用于处理 HIGH 优先级任务。
- 引入版本:-
transaction_publish_version_worker_count
- 默认值:0
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:生效版本的最大线程数。当该参数被设置为小于或等于
0
时,系统默认使用当前节点的 CPU 核数,以避免因使用固定值而导致在导入并行较高时线程资源不足。自 2.5 版本起,默认值由8
变更为0
。 - 引入版本:-
clear_transaction_task_worker_count
- 默认值:1
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:清理事务的线程数。
- 引入版本:-
load_data_reserve_hours
- 默认值:4
- 类型:Int
- 单位:Hours
- 是否动态:否
- 描述:小批量导入生成的文件保留的时长。
- 引入版本:-
load_error_log_reserve_hours
- 默认值:48
- 类型:Int
- 单位:Hours
- 是否动态:是
- 描述:导入数据信息保留的时长。
- 引入版本:-
number_tablet_writer_threads
- 默认值:16
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:用于 Stream Load 的线程数。自 v3.1.7 起变为动态参数。
- 引入版本:-
streaming_load_max_mb
- 默认值:102400
- 类型:Int
- 单位:MB
- 是否动态:是
- 描述:流式导入单个文件大小的上限。自 3.0 版本起,默认值由 10240 变为 102400。
- 引入版本:-
streaming_load_max_batch_size_mb
- 默认值:100
- 类型:Int
- 单位:MB
- 是否动态:是
- 描述:The maximum size of a JSON file that can be streamed into StarRocks.
- 引入版本:-
streaming_load_rpc_max_alive_time_sec
- 默认值:1200
- 类型:Int
- 单位:Seconds
- 是否动态:否
- 描述:流式导入单个 JSON 文件大小的上限。
- 引入版本:-
write_buffer_size
- 默认值:104857600
- 类型:Int
- 单位:Bytes
- 是否动态:是
- 描述:MemTable 在内存中的 Buffer 大小,超过这个限制会触发 Flush。
- 引入版本:-
load_process_max_memory_limit_bytes
- 默认值:107374182400
- 类型:Int
- 单位:Bytes
- 是否动态:否
- 描述:单节点上所有的导入线程占据的内存上限。
- 引入版本:-
load_process_max_memory_limit_percent
- 默认值:30
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:单节点上所有的导入线程占据内存的软上限(百分比)。
- 引入版本:-
load_process_max_memory_hard_limit_ratio
- 默认值:2
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:单节点上所有的导入线程占据内存的硬上限(比例)。当
enable_new_load_on_memory_limit_exceeded
设置为false
,并且所有导入线程的内存占用超过load_process_max_memory_limit_percent * load_process_max_memory_hard_limit_ratio
时,系统将会拒绝新的导入线程。 - 引入版本:v3.3.2
enable_new_load_on_memory_limit_exceeded
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:在导入线程内存占用达到硬上限后,是否允许新的导入线程。
true
表示允许新导入线程,false
表示拒绝新导入线程。 - 引入版本:v3.3.2
txn_commit_rpc_timeout_ms (Deprecated)
- 默认值:60000
- 类型:Int
- 单位:Milliseconds
- 是否动态:是
- 描述:Transaction Commit RPC 超时的时长。该参数自 v3.2.0 起弃用。
- 引入版本:-
max_consumer_num_per_group
- 默认值:3
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:Routine load 中,每个 Consumer Group 内最大的 Consumer 数量。
- 引入版本:-
flush_thread_num_per_store
- 默认值:2
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:每个 Store 用以 Flush MemTable 的线程数。
- 引入版本:-
lake_flush_thread_num_per_store
- 默认值:0
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:在存算分离模式下,每个 Store 用以 Flush MemTable 的线程数。当该参数被设置为
0
时,系统使用 CPU 核数的两倍。 当该参数被设置为小于0
时,系统使用该参数的绝对值与 CPU 核数的乘积。 - 引入版本:3.1.12, 3.2.7
max_runnings_transactions_per_txn_map
- 默认值:100
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:每个分区内部同时运行的最大事务数量。
- 引入版本:-
enable_stream_load_verbose_log
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:是否在日志中记录 Stream Load 的 HTTP 请求和响应信息。
true
表示启用,false
表示不启用。 - 引入版本:v2.5.17, v3.0.9, v3.1.6, v3.2.1
查询引擎
scanner_thread_pool_thread_num
- 默认值:48
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:存储引擎并发扫描磁盘的线程数,统一管理在线程池中。
- 引入版本:-
scanner_thread_pool_queue_size
- 默认值:102400
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:存储引擎支持的扫描任务数。
- 引入版本:-
scanner_row_num
- 默认值:16384
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:每个扫描线程单次执行最多返回的数据行数。
- 引入版本:-
max_scan_key_num
- 默认值:1024
- 类型:Int
- 单位:-
- 是否动态:是
- 描述:查询最多拆分的 Scan Key 数目。
- 引入版本:-