本文为您介绍StarRocks FE、BE、Broker以及系统参数的部分配置项以及修改方式。
StarRocks配置项分为动态参数和静态参数:
动态参数主要是FE有部分动态配置,支持在线修改。
静态参数是需要重启服务生效的配置项, 包括FE的静态参数和BE的全部配置项
动态参数表示不需要重启服务的参数, 可以通过如下命令动态修改, 也可以通过页面方式重启修改.
ADMIN SET FRONTEND CONFIG ("key" = "value");
静态参数必须通过页面方式修改, 修改后需要重启服务才能生效.
配置项 | 默认值 | 描述 |
---|---|---|
qe_slow_log_ms | 5000 | Slow query的认定时长,单位为ms。 |
配置项 | 默认值 | 描述 |
---|---|---|
catalog_try_lock_timeout_ms | 5000 | Catalog Lock获取的超时时长,单位为ms。 |
edit_log_roll_num | 50000 | Image日志拆分大小。 |
ignore_unknown_log_id | FALSE | 是否忽略未知的logID:TRUE:FE会忽略这些未知的logID。FALSE:针对未知的logID,FE会退出进程。当FE回滚到低版本时,可能存在低版本BE无法识别的logID。 |
ignore_meta_check | FALSE | 是否忽略元数据落后的情形:FALSE:忽略。TRUE:不忽略。 |
max_backend_down_time_second | 3600 | BE和FE失联之后,FE能够容忍BE重新加回来的最长时间,单位为s。 |
drop_backend_after_decommission | TRUE | BE被下线后,是否删除该BE:TRUE:删除该BE。FALSE:不删除该BE。 |
配置项 | 默认值 | 描述 |
---|---|---|
max_create_table_timeout_second | 60 | 建表最大超时时间,单位为s。 |
max_running_rollup_job_num_per_table | 1 | 每个Table执行Rollup任务的最大并发度。 |
max_planner_scalar_rewrite_num | 10_0000 | 优化器重写ScalarOperator允许的最大次数。 |
statistics_manager_sleep_time_sec | 60*10 | 自动创建统计信息表的周期,单位为s。 |
statistic_collect_interval_sec | 120*60 | 统计信息功能执行周期,单位为s。 |
statistic_update_interval_sec | 24 *60* 60 | 统计信息Job的默认收集间隔时间,单位为s。 |
statistic_sample_collect_rows | 200000 | 采样统计信息Job的默认采样行数,默认为200000行。 |
enable_statistic_collect | TRUE | 统计信息收集功能开关:TRUE:开启统计信息收集功能。FALSE:不开启统计信息收集功能。 |
enable_local_replica_selection | FALSE | 优化器是否优先选择与该FE相同IP的BE节点上的tablet:TRUE:是。FALSE:否。 |
max_distribution_pruner_recursion_depth | 100 | 分区裁剪允许的最大递归深度。 |
配置项 | 默认值 | 描述 |
---|---|---|
max_running_txn_num_per_db | 100 | 并发导入的任务数。 |
max_load_timeout_second | 259200 | 适用于所有导入,单位为s。 |
min_load_timeout_second | 1 | 适用于所有导入,单位为s。 |
load_parallel_instance_num | 1 | 单个BE上并发实例数,默认1个。 |
db_used_data_quota_update_interval_secs | 300 | 更新数据库使用配额的时间周期,单位为s。 |
history_job_keep_max_second | 604800 | 历史任务最大的保留时长,单位为s。 |
label_keep_max_num | 1000 | 一定时间内所保留导入任务的最大数量。保留时间在label_keep_max_second中设置。 |
label_keep_max_second | 259200 | label保留时长,单位为s。 |
period_of_auto_resume_min | 5 | 自动恢复Routine Load的时间间隔。 |
stream_load_default_timeout_second | 600 | StreamLoad超时时间,单位为s。 |
max_stream_load_timeout_second | 259200 | Stream导入的超时时间允许设置的最大值,单位为s。 |
insert_load_default_timeout_second | 3600 | Insert Into语句的超时时间,单位为s。 |
broker_load_default_timeout_second | 14400 | Broker Load的超时时间,单位为s。 |
export_max_bytes_per_be_per_task | 268435456 | 单个导出任务在单个BE上导出的最大数据量,默认256 MB。 |
export_running_job_num_limit | 5 | 导出作业最大的运行数目。 |
export_task_default_timeout_second | 7200 | 导出作业超时时长,单位为s,默认2小时。 |
配置项 | 默认值 | 描述 |
---|---|---|
capacity_used_percent_high_water | 0.75 | Backend上磁盘使用容量的度量值。超过0.75之后,尽量不再往该tablet上发送建表和克隆的任务,直至恢复正常。 |
storage_high_watermark_usage_percent | 85 | BE存储目录下空间使用率的最大值。 |
storage_min_left_capacity_bytes | 2 *1024* 1024*1024 | BE存储目录下剩余空间的最小值,默认2 GB。 |
storage_flood_stage_left_capacity_bytes | 100 *1024* 1024*1024 | BE存储目录的剩余空间。如果剩余空间小于该值,则会拒绝Load Restore作业。默认1 GB。 |
storage_flood_stage_usage_percent | 95 | BE存储目录下空间使用率。如果空间使用率超过该值,则会拒绝Load和Restore作业。 |
catalog_trash_expire_second | 86400 | 删表或数据库之后,元数据在回收站中保留的时长,单位为s,默认1天。如果超过该时长,则数据无法恢复。 |
alter_table_timeout_second | 86400 | Schema change超时时间,单位为s,默认1天。 |
balance_load_disk_safe_threshold | 0.5 | 仅对disk_and_tablet策略有效。如果所有BE的磁盘使用率低于50%,则认为磁盘使用均衡。 |
balance_load_score_threshold | 0.1 | 针对be_load_score策略,负载比平均负载低10%的BE处于低负载状态,比平均负载高10% 的BE处于高负载状态。针对disk_and_tablet策略,如果最大和最小BE磁盘使用率之差高于10%,则认为磁盘使用不均衡,会触发tablet重新均衡。 |
disable_balance | FALSE | 是否禁用Tablet调度:FALSE:禁用。TRUE:不禁用。 |
max_scheduling_tablets | 2000 | 正在调度的tablet数量。如果正在调度的tablet数量超过该值,则跳过tablet均衡检查。 |
max_balancing_tablets | 100 | 正在均衡的tablet数量。如果正在均衡的tablet数量超过该值,则跳过tablet重新均衡。 |
disable_colocate_balance | FALSE | 是否禁用Colocate Table的副本均衡:TRUE:禁用。FALSE:不禁用。 |
recover_with_empty_tablet | FALSE | 在tablet副本丢失或损坏时,是否使用空的tablet代替:TRUE:使用空的tablet代替。FALSE:不使用空的tablet代替。使用空的tablet代替可以保证在有tablet副本丢失或损坏时,query依然能被执行(但是由于缺失了数据,结果可能是错误的)。 |
min_clone_task_timeout_sec | 3*60 | 克隆Tablet的最小超时时间,单位为s,默认3min。 |
max_clone_task_timeout_sec | 2 *60* 60 | 克隆 Tablet 的最大超时时间,单位为s,默认2h。 |
tablet_create_timeout_second | 1 | 建表超时时长,单位为s。 |
tablet_delete_timeout_second | 2 | 删除表的超时时间,单位为s。 |
tablet_repair_delay_factor_second | 60 | FE 控制进行副本修复的间隔,单位为s。 |
consistency_check_start_time | 23 | FE 发起副本一致性检测的起始时间,默认是23:00。 |
consistency_check_end_time | 4 | FE 发起副本一致性检测的终止时间,默认是4:00。 |
check_consistency_default_timeout_second | 600 | 副本一致性检测的超时时间,单位为s。 |
配置项 | 默认值 | 描述 |
---|---|---|
plugin_enable | TRUE | 是否开启了插件功能:TRUE:开启了插件功能。FALSE:没有开启插件功能。说明只能在Master节点安装或卸载插件。 |
max_small_file_number | 100 | 允许存储小文件数目的最大值。 |
max_small_file_size_bytes | 1024*1024 | 存储文件的大小上限,默认1 MB。 |
backup_job_default_timeout_ms | 86400*1000 | Backup作业的超时时间,单位为s,默认1天。 |
report_queue_size | 100 | Disk、Task或Tablet的Report的等待队列长度。 |
配置项 | 默认值 | 描述 |
---|---|---|
log_roll_size_mb | 1024 | 日志拆分的大小,每1 GB拆分一个日志。 |
sys_log_dir | StarRocksFe.STARROCKS_HOME_DIR/log | 日志保留的目录。 |
sys_log_level | INFO | 日志的级别。可以配置的等级从宽松到严格依次为INFO、WARNING、ERROR和FATAL。 |
sys_log_verbose_modules | 空字符串 | 日志打印的模块。例如,如果填写为org.apache.starrocks.catalog,则只打印catalog模块下的日志。 |
sys_log_roll_interval | DAY | 日志拆分的时间间隔。 |
sys_log_delete_age | 7d | 日志删除的间隔。 |
sys_log_roll_num | 10 | 每个sys_log_roll_interval时间内,保留的日志文件数目。 |
audit_log_dir | starrocksFe.STARROCKS_HOME_DIR/log | 审计日志保留的目录。 |
audit_log_roll_num | 90 | 审计日志保留的数目。 |
audit_log_modules | "slow_query", "query" | 审计日志打印的模块,默认保留slow_query和query。 |
audit_log_roll_interval | DAY | 审计日志拆分的时间间隔,取值为DAY或HOUR。 |
audit_log_delete_age | 30d | 审计日志删除的间隔。 |
dump_log_dir | STARROCKS_HOME_DIR/log | Dump日志的目录。 |
dump_log_modules | "query" | Dump日志打印的模块,默认保留query。 |
dump_log_roll_interval | DAY | Dump日志拆分的时间间隔。日志文件的后缀为yyyyMMdd(DAY)或yyyyMMddHH(HOUR)。 |
dump_log_roll_num | 90 | 每个dump_log_roll_interval时间内,保留的Dump日志文件数目。 |
dump_log_delete_age | 30d | Dump日志保留的时间长度。 |
配置项 | 默认值 | 描述 |
---|---|---|
frontend_address | 0.0.0.0 | FE IP地址。 |
priority_networks | 空字符串 | 以CIDR形式10.10.**.**/24指定BE的IP地址,适用于机器有多个IP,需要指定优先使用的网络。 |
http_port | 8030 | Http Server的端口。 |
http_backlog_num | 1024 | HTTP Server的backlog队列长度。 |
cluster_name | StarRocks Cluster | Web页面中Title显示的集群名称。 |
rpc_port | 9020 | FE上的Thrift Server端口。 |
thrift_backlog_num | 1024 | Thrift Server的backlog队列长度。 |
thrift_server_type | THREAD_POOL | FE的Thrift服务使用的服务模型。例如,SIMPLE、THREADED和THREAD_POOL。 |
thrift_server_max_worker_threads | 4096 | Thrift Server最大工作线程数。 |
thrift_client_timeout_ms | 0 | Client超时时间。默认值为0,表示永远不会超时。 |
brpc_idle_wait_max_time | 10000 | BRPC的空闲等待时间,单位为ms,默认为10s。 |
query_port | 9030 | FE上的MySQL Server端口。 |
mysql_service_nio_enabled | TRUE | 是否开启FE连接服务的nio:TRUE:开启。FALSE:不开启。 |
mysql_service_io_threads_num | 4 | FE连接服务线程数。 |
mysql_nio_backlog_num | 1024 | MySQL Server的backlog队列长度。 |
max_mysql_service_task_threads_num | 4096 | MySQL Server处理任务的最大线程数。 |
max_connection_scheduler_threads_num | 4096 | 连接定时器的线程池的最大线程数。 |
qe_max_connection | 1024 | FE上最多接收的连接数,适用于所有用户。 |
check_java_version | TRUE | 是否检查执行时的版本与编译的Java版本的兼容性:TRUE:检查。FALSE:不检查。 |
配置项 | 默认值 | 描述 |
---|---|---|
meta_dir | StarRocksFe.STARROCKS_HOME_DIR/meta | 元数据保留目录。 |
heartbeat_mgr_threads_num | 8 | HeartbeatMgr中发送心跳任务的线程数。 |
heartbeat_mgr_blocking_queue_size | 1024 | HeartbeatMgr中发送心跳任务的线程池的队列长度。 |
metadata_failure_recovery | FALSE | 强制重置FE的元数据。说明请谨慎使用该参数。 |
edit_log_port | 9010 | FE Group(Master、Follower、Observer)之间通信用的端口。 |
edit_log_type | BDB | Edit log的类型,只能为BDB。 |
bdbje_heartbeat_timeout_second | 30 | BDBJE心跳超时的间隔,单位为s。 |
bdbje_lock_timeout_second | 1 | BDBJE锁超时的间隔,单位为s。 |
max_bdbje_clock_delta_ms | 5000 | Master与Non-master最大容忍的时钟偏移,单位为ms。 |
txn_rollback_limit | 100 | 事务回滚的上限。 |
bdbje_replica_ack_timeout_second | 10 | BDBJE Master等待足够多的FOLLOWER ACK的最长时间c |
master_sync_policy | SYNC | Master日志刷盘的方式,默认是SYNC。 |
replica_sync_policy | SYNC | Follower日志刷盘的方式,默认是SYNC。 |
meta_delay_toleration_second | 300 | 非Master节点能够容忍的最大元数据落后的时间,单位为s。 |
cluster_id | -1 | 相同cluster_id的FE或BE节点属于haode同一个集群。默认值-1,表示在Master FE第一次启动时随机生成一个cluster_id。 |
配置项 | 默认值 | 描述 |
---|---|---|
disable_colocate_join | FALSE | 是否开启Colocate Join:FALSE:不开启Colocate Join。TRUE:开启Colocate Join。 |
enable_udf | FALSE | 是否开启UDF:FALSE:不开启UDF。TRUE:开启UDF。 |
publish_version_interval_ms | 10 | 发送版本生效任务的时间间隔。 |
statistic_cache_columns | 10_0000 | 缓存统计信息表的行数。 |
配置项 | 默认值 | 描述 |
---|---|---|
async_load_task_pool_size | 10 | 导入任务执行的线程池大小。 |
load_checker_interval_second | 5 | 导入轮询的间隔,单位为s。 |
transaction_clean_interval_second | 30 | 清理已结束事务的周期,单位为s。 |
label_clean_interval_second | 14400 | label清理的间隔,单位为s。 |
export_checker_interval_second | 5 | 导出线程轮询间隔,单位为s。 |
export_task_pool_size | 5 | 导出任务线程池大小。 |
export_checker_interval_second | 5 | 导出作业调度器的调度周期,单位为s。 |
配置项 | 默认值 | 描述 |
---|---|---|
storage_cooldown_second | 2592000 | 介质迁移的时间,单位为s,默认30天。 |
default_storage_medium | HDD | 默认的存储介质,取值为HDD和SSD。在创建表或分区时,如果没有指定存储介质,则会使用该值。 |
schedule_slot_num_per_path | 2 | 一个BE存储目录能够同时执行tablet相关任务的数目。 |
tablet_balancer_strategy | disk_and_tablet | Tablet均衡策略,取值为disk_and_tablet或be_load_score。 |
tablet_stat_update_interval_second | 300 | FE向每个BE请求收集tablet信息的时间间隔,单位为s,默认5min。 |
BE配置项全部是静态参数。
配置项 | 默认值 | 描述 |
---|---|---|
sys_log_dir | ${DORIS_HOME}/log | 存放日志的目录。日志级别包括INFO、WARNING、ERROR和FATAL。 |
sys_log_level | INFO | 日志的等级。可以配置的等级从宽松到严格依次为INFO、WARNING、ERROR和FATAL。 |
sys_log_roll_mode | SIZE-MB-1024 | 日志拆分的大小,每1 GB拆分一个日志。 |
sys_log_roll_num | 10 | 日志保留的数目。 |
sys_log_verbose_modules | 空字符串 | 日志打印的模块。如果写olap,则只打印olap模块下的日志。 |
sys_log_verbose_level | 10 | 日志显示的级别,用于控制代码中VLOG开头的日志输出。 |
log_buffer_level | 空字符串 | 日志刷盘的策略,默认保持在内存中。 |
配置项 | 默认值 | 描述 |
---|---|---|
base_compaction_check_interval_seconds | 60 | BaseCompaction线程轮询的间隔,单位为s。 |
base_compaction_num_threads_per_disk | 1 | 每个磁盘BaseCompaction线程的数目。 |
base_cumulative_delta_ratio | 0.3 | BaseCompaction触发条件之一:Cumulative文件大小达到Base文件的比例。 |
base_compaction_interval_seconds_since_last_operation | 86400 | BaseCompaction触发条件之一:上一轮BaseCompaction距今的间隔。 |
cumulative_compaction_check_interval_seconds | 1 | CumulativeCompaction线程轮询的间隔,单位为s。 |
min_cumulative_compaction_num_singleton_deltas | 5 | CumulativeCompaction触发条件之一:Singleton文件数目要达到的下限。 |
max_cumulative_compaction_num_singleton_deltas | 1000 | CumulativeCompaction 触发条件之一:Singleton文件数目要达到的上限。 |
cumulative_compaction_num_threads_per_disk | 1 | 每个磁盘CumulativeCompaction线程的数目。 |
min_compaction_failure_interval_sec | 120 | Tablet Compaction失败之后,再次被调度的间隔,单位为s。 |
max_compaction_concurrency | -1 | BaseCompaction + CumulativeCompaction的最大并发。默认值-1表示没有限制。 |
配置项 | 默认值 | 描述 |
---|---|---|
heartbeat_service_thread_count | 1 | 心跳线程数。 |
create_tablet_worker_count | 3 | 创建tablet的线程数。 |
drop_tablet_worker_count | 3 | 删除tablet的线程数。 |
push_worker_count_normal_priority | 3 | 导入线程数,处理NORMAL优先级任务。 |
push_worker_count_high_priority | 3 | 导入线程数,处理HIGH优先级任务。 |
publish_version_worker_count | 2 | 生效版本的线程数。 |
clear_transaction_task_worker_count | 1 | 清理事务的线程数。 |
alter_tablet_worker_count | 3 | 进行Schema Change的线程数。 |
clone_worker_count | 3 | 克隆的线程数。 |
storage_medium_migrate_count | 1 | 介质迁移的线程数。例如,热数据从SSD迁移到SATA盘的线程数。 |
check_consistency_worker_count | 1 | 计算tablet的校验和checksum。 |
num_threads_per_core | 3 | 每个CPU core启动的线程数。 |
doris_scanner_thread_pool_thread_num | 48 | 存储引擎并发扫描磁盘的线程数,统一管理在线程池中。 |
doris_scanner_thread_pool_queue_size | 102400 | 存储引擎最多接收的任务数。 |
webserver_num_workers | 48 | Http Server线程数。 |
fragment_pool_thread_num | 64 | 查询线程数,默认启动64个线程,后续查询请求动态创建线程。 |
fragment_pool_queue_size | 2048 | 单节点上能够处理的查询请求上限。 |
配置项 | 默认值 | 描述 |
---|---|---|
be_port | 9060 | BE上Thrift Server的端口,用于接收来自FE的请求。 |
brpc_port | 8060 | BRPC的端口,可以查看BRPC的一些网络统计信息。 |
brpc_num_threads | -1 | BRPC的bthreads线程数量。默认值-1表示和CPU核数一样。 |
priority_networks | 空字符串 | 以CIDR形式10.10.**.**/24指定BE的IP地址,适用于机器有多个IP,需要指定优先使用的网络。 |
heartbeat_service_port | 9050 | 心跳服务端口(Thrift),接收来自FE的心跳。 |
user_function_dir | ${DORIS_HOME}/lib/udf | 存放UDF程序的目录。 |
storage_root_path | 空字符串 | 存储数据的目录。 |
webserver_port | 8040 | Http Server端口。 |
配置项 | 默认值 | 描述 |
---|---|---|
report_task_interval_seconds | 10 | 汇报单个任务的间隔,单位为s。建表、删除表、导入和Schema Change都可以被认定是任务。 |
report_disk_state_interval_seconds | 60 | 汇报磁盘状态的间隔,单位为s。汇报各个磁盘的状态及其数据量等。 |
report_tablet_interval_seconds | 60 | 汇报tablet的间隔,单位为s。汇报所有的tablet的最新版本。 |
alter_tablet_timeout_seconds | 86400 | Schema Change超时时间,单位为s。 |
compress_rowbatches | TRUE | BE之间RPC通信是否压缩RowBatch,用于查询层之间的数据传输。 |
serialize_batch | FALSE | BE之间RPC通信是否序列化RowBatch,用于查询层之间的数据传输。 |
status_report_interval | 5 | 查询汇报profile的间隔,单位为s,用于FE收集查询统计信息。 |
memory_limitation_per_thread_for_schema_change | 2 | 单个Schema Change任务允许占用的最大内存。 |
file_descriptor_cache_clean_interval | 3600 | 文件句柄缓存清理的间隔,单位为s,用于清理长期不用的文件句柄。 |
disk_stat_monitor_interval | 5 | 磁盘状态检测的间隔,单位为s。 |
unused_rowset_monitor_interval | 30 | 清理过期Rowset的时间间隔,单位为s。 |
max_tablet_num_per_shard | 1024 | 每个shard的tablet数目,用于划分tablet,防止单个目录下tablet子目录过多。 |
pending_data_expire_time_sec | 1800 | 存储引擎保留的未生效数据的最大时长,单位为s。 |
inc_rowset_expired_sec | 1800 | 在增量克隆场景下,已导入的数据,在存储引擎中保留的时间,单位为s。 |
max_garbage_sweep_interval | 3600 | 磁盘进行垃圾清理的最大间隔,单位为s。 |
min_garbage_sweep_interval | 180 | 磁盘进行垃圾清理的最小间隔,单位为s。 |
snapshot_expire_time_sec | 172800 | 快照文件清理的间隔,单位为s,默认为48小时。 |
trash_file_expire_time_sec | 259200 | 回收站清理的间隔,单位为s,默认为72小时。 |
file_descriptor_cache_capacity | 16384 | 文件句柄缓存的容量。 |
min_file_descriptor_number | 60000 | BE进程的文件句柄limit要求的下限。 |
index_stream_cache_capacity | 10737418240 | BloomFilter、Min或Max等统计信息缓存的容量。 |
storage_page_cache_limit | 0 | PageCache的容量。 |
disable_storage_page_cache | TRUE | 是否禁用Page Cache。TRUE:禁用Page Cache。FALSE:不禁用Page Cache。 |
periodic_counter_update_period_ms | 500 | Counter统计信息的间隔,单位为ms。 |
load_data_reserve_hours | 4 | 小批量导入生成的文件保留的时间,单位为h。 |
load_error_log_reserve_hours | 48 | 导入数据信息保留的时长,单位为h。 |
number_tablet_writer_threads | 16 | 流式导入的线程数。 |
streaming_load_max_mb | 10240 | 流式导入单个文件大小的上限。 |
streaming_load_rpc_max_alive_time_sec | 1200 | 流式导入RPC的超时时间。 |
enable_partitioned_aggregation | TRUE | 是否使用PartitionAggregation:TRUE:使用PartitionAggregation。FALSE:不使用PartitionAggregation。 |
enable_token_check | TRUE | 是否开启Token检验:TRUE:开启Token检验。FALSE:不开启Token检验。 |
load_process_max_memory_limit_bytes | 107374182400 | 单节点上所有的导入线程占据的内存上限,默认为100 GB。 |
load_process_max_memory_limit_percent | 30 | 单节点上所有的导入线程占据的内存上限比例。 |
sync_tablet_meta | FALSE | 存储引擎是否开sync保留到磁盘上。 |
thrift_rpc_timeout_ms | 5000 | Thrift超时的时长,单位为ms。 |
txn_commit_rpc_timeout_ms | 10000 | Txn超时的时长,单位为ms。 |
routine_load_thread_pool_size | 10 | 例行导入的线程池数目。 |
tablet_meta_checkpoint_min_new_rowsets_num | 10 | TabletMeta Checkpoint的最小Rowset数目。 |
tablet_meta_checkpoint_min_interval_secs | 600 | TabletMeta Checkpoint线程轮询的时间间隔,单位为s。 |
brpc_max_body_size | 209715200 | BRPC最大的包容量,默认为200 MB。 |
max_runnings_transactions | 2000 | 存储引擎支持的最大事务数。 |
tablet_map_shard_size | 32 | Tablet分组数。 |
enable_bitmap_union_disk_format_with_set | FALSE | Bitmap新存储格式,可以优化bitmap_union性能。 |