跳到主要内容
版本:2.5

配置参数

本文介绍如何配置 StarRocks FE 节点、BE 节点、Broker 以及系统参数,并介绍相关参数。

FE 配置项

FE 参数分为动态参数和静态参数。动态参数可通过 SQL 命令进行在线配置和调整,方便快捷。需要注意通过 SQL 命令所做的动态设置在重启 FE 后会失效。如果想让设置长期生效,建议同时修改 fe.conf 文件。

静态参数必须在 FE 配置文件 fe.conf 中进行配置和调整。调整完成后,需要重启 FE 使变更生效。

参数是否为动态参数可通过 ADMIN SHOW CONFIG 返回结果中的 IsMutable 列查看。TRUE 表示动态参数。

静态和动态参数均可通过 fe.conf 文件进行修改。

查看 FE 配置项

FE 启动后,您可以在 MySQL 客户端执行 ADMIN SHOW FRONTEND CONFIG 命令来查看参数配置。如果您想查看具体参数的配置,执行如下命令:

 ADMIN SHOW FRONTEND CONFIG [LIKE "pattern"];

详细的命令返回字段解释,参见 ADMIN SHOW CONFIG

注意

执行集群管理相关命令需要有管理员权限。

配置 FE 动态参数

您可以通过 ADMIN SET FRONTEND CONFIG 命令在线修改 FE 动态参数。

ADMIN SET FRONTEND CONFIG ("key" = "value");

注意

动态设置的配置项,在 FE 重启之后会恢复成 fe.conf 文件中的配置或者默认值。如果需要让配置长期生效,建议设置完之后同时修改 fe.conf 文件,防止重启后修改失效。

Log

配置项默认值描述
qe_slow_log_ms5000Slow query 的认定时长,单位为 ms。如果查询的响应时间超过此阈值,则会在审计日志 fe.audit.log 中记录为 slow query。

元数据与集群管理

配置项默认值描述
catalog_try_lock_timeout_ms5000全局锁(global lock)获取的超时时长,单位为 ms。
edit_log_roll_num50000该参数用于控制日志文件的大小,指定了每写多少条元数据日志,执行一次日志滚动操作来为这些日志生成新的日志文件。新日志文件会写入到 BDBJE Database。
ignore_unknown_log_idFALSE是否忽略未知的 logID。当 FE 回滚到低版本时,可能存在低版本 BE 无法识别的 logID。
如果为 TRUE,则 FE 会忽略这些 logID;否则 FE 会退出。
ignore_materialized_view_errorFALSE是否忽略因物化视图错误导致的元数据异常。如果 FE 因为物化视图错误导致的元数据异常而无法启动,您可以通过将该参数设置为 true 以忽略错误。自 v2.5.10 起支持。
ignore_meta_checkFALSE是否忽略元数据落后的情形。如果为 true,非主 FE 将忽略主 FE 与其自身之间的元数据延迟间隙,即使元数据延迟间隙超过 meta_delay_toleration_second,非主 FE 仍将提供读取服务。
当您尝试停止 Master FE 较长时间,但仍希望非 Master FE 可以提供读取服务时,该参数会很有帮助。
meta_delay_toleration_second300FE 所在 StarRocks 集群中,非 Leader FE 能够容忍的元数据落后的最大时间。单位:秒。
如果非 Leader FE 上的元数据与 Leader FE 上的元数据之间的延迟时间超过该参数取值,则该非 Leader FE 将停止服务。
drop_backend_after_decommissionTRUEBE 被下线后,是否删除该 BE。true 代表 BE 被下线后会立即删除该 BE。False 代表下线完成后不删除 BE。
enable_collect_query_detail_infoFALSE是否收集查询的 profile 信息。设置为 true 时,系统会收集查询的 profile。设置为 false 时,系统不会收集查询的 profile。
enable_background_refresh_connector_metadatav3.0 为 TRUE
v2.5 为 FALSE
是否开启 Hive 元数据缓存周期性刷新。开启后,StarRocks 会轮询 Hive 集群的元数据服务(Hive Metastore 或 AWS Glue),并刷新经常访问的 Hive 外部数据目录的元数据缓存,以感知数据更新。true 代表开启,false 代表关闭。自 v2.5.5 起支持。
background_refresh_metadata_interval_millis600000接连两次 Hive 元数据缓存刷新之间的间隔。单位:毫秒。自 v2.5.5 起支持。
background_refresh_metadata_time_secs_since_last_access_secs86400Hive 元数据缓存刷新任务过期时间。对于已被访问过的 Hive Catalog,如果超过该时间没有被访问,则停止刷新其元数据缓存。对于未被访问过的 Hive Catalog,StarRocks 不会刷新其元数据缓存。单位:秒。自 v2.5.5 起支持。

Query engine

配置项默认值描述
max_allowed_in_element_num_of_delete10000DELETE 语句中 IN 谓词最多允许的元素数量。
enable_materialized_viewTRUE是否允许创建物化视图。
enable_decimal_v3TRUE是否开启 Decimal V3。
expr_children_limit10000一个表达式中子表达式的最大数量。
enable_sql_blacklistFALSE是否开启 SQL Query 黑名单校验。如果开启,在黑名单中的 Query 不能被执行。
dynamic_partition_check_interval_seconds600动态分区检查的时间周期。如果有新数据生成,会自动生成分区。
dynamic_partition_enableTRUE是否开启动态分区功能。打开后,您可以按需为新数据动态创建分区,同时 StarRocks 会⾃动删除过期分区,从而确保数据的时效性。
max_partitions_in_one_batch4096批量创建分区时,分区数目的最大值。
max_query_retry_time2FE 上查询重试的最大次数。
max_create_table_timeout_second600建表最大超时时间,单位为秒。
max_running_rollup_job_num_per_table1每个 Table 执行 Rollup 任务的最大并发度。
max_planner_scalar_rewrite_num100000优化器重写 ScalarOperator 允许的最大次数。
enable_statistic_collectTRUE是否采集统计信息,该开关默认打开。
enable_collect_full_statisticTRUE是否开启自动全量统计信息采集,该开关默认打开。
statistic_auto_collect_ratio0.8自动统计信息的健康度阈值。如果统计信息的健康度小于该阈值,则触发自动采集。
statistic_max_full_collect_data_size100自动统计信息采集的最大分区大小。单位:GB。
如果超过该值,则放弃全量采集,转为对该表进行抽样采集。
statistic_collect_interval_sec300自动定期采集任务中,检测数据更新的间隔时间,默认为 5 分钟。单位:秒。
statistic_auto_analyze_start_timeSTRING00:00:00
statistic_auto_analyze_end_timeSTRING23:59:59
statistic_sample_collect_rows200000最小采样行数。如果指定了采集类型为抽样采集(SAMPLE),需要设置该参数。
如果参数取值超过了实际的表行数,默认进行全量采集。
histogram_buckets_size64直方图默认分桶数。
histogram_mcv_size100直方图默认 most common value 的数量。
histogram_sample_ratio0.1直方图默认采样比例。
histogram_max_sample_row_count10000000直方图最大采样行数。
statistics_manager_sleep_time_sec60统计信息相关元数据调度间隔周期。单位:秒。系统根据这个间隔周期,来执行如下操作:
  • 创建统计信息表;
  • 删除已经被删除的表的统计信息;
  • 删除过期的统计信息历史记录。
statistic_update_interval_sec24 * 60 * 60统计信息内存 Cache 失效时间。单位:秒。
statistic_analyze_status_keep_second259200统计信息采集任务的记录保留时间,默认为 3 天。单位:秒。
statistic_collect_concurrency3手动采集任务的最大并发数,默认为 3,即最多可以有 3 个手动采集任务同时运行。超出的任务处于 PENDING 状态,等待调度。
enable_local_replica_selectionFALSE是否选择本地副本进行查询。本地副本可以减少数据传输的网络时延。
如果设置为 true,优化器优先选择与当前 FE 相同 IP 的 BE 节点上的 tablet 副本。设置为 false 表示选择可选择本地或非本地副本进行查询。默认为 false。
max_distribution_pruner_recursion_depth100分区裁剪允许的最大递归深度。增加递归深度可以裁剪更多元素但同时增加 CPU 资源消耗。
enable_udfFALSE是否开启 UDF。

导入和导出

配置项默认值描述
max_broker_load_job_concurrency5StarRocks 集群中可以并行执行的 Broker Load 作业的最大数量。本参数仅适用于 Broker Load。取值必须小于 max_running_txn_num_per_db。从 2.5 版本开始,该参数默认值从 10 变为 5。参数别名 async_load_task_pool_size
load_straggler_wait_second300控制 BE 副本最大容忍的导入落后时长,超过这个时长就进行克隆,单位为秒。
desired_max_waiting_jobs1024最多等待的任务数,适用于所有的任务,建表、导入、schema change。
如果 FE 中处于 PENDING 状态的作业数目达到该值,FE 会拒绝新的导入请求。该参数配置仅对异步执行的导入有效。从 2.5 版本开始,该参数默认值从 100 变为 1024。
max_load_timeout_second259200导入作业的最大超时时间,适用于所有导入,单位为秒。
min_load_timeout_second1导入作业的最小超时时间,适用于所有导入,单位为秒。
max_running_txn_num_per_db1000StarRocks 集群每个数据库中正在运行的导入相关事务的最大个数,默认值为 1000
当数据库中正在运行的导入相关事务超过最大个数限制时,后续的导入不会执行。如果是同步的导入作业请求,作业会被拒绝;如果是异步的导入作业请求,作业会在队列中等待。不建议调大该值,会增加系统负载。
load_parallel_instance_num1单个 BE 上每个作业允许的最大并发实例数。
disable_load_jobFALSE是否禁用任何导入任务,集群出问题时的止损措施。设置为 TRUE 时,无法进行导入任务,集群仅处于可读状态。
history_job_keep_max_second604800历史任务最大的保留时长,例如 schema change 任务,单位为秒。
label_keep_max_num1000一定时间内所保留导入任务的最大数量。超过之后历史导入作业的信息会被删除。
label_keep_max_second259200已经完成、且处于 FINISHED 或 CANCELLED 状态的导入作业记录在 StarRocks 系统 label 的保留时长,默认值为 3 天。
该参数配置适用于所有模式的导入作业。单位为秒。设定过大将会消耗大量内存。
max_routine_load_task_concurrent_num5每个 Routine Load 作业最大并发执行的 task 数。
max_routine_load_task_num_per_be5每个 BE 最大并发执行的 Routine Load task 数,需要小于等于 BE 的配置项 routine_load_thread_pool_size
max_routine_load_batch_size4294967296每个 Routine Load task 导入的最大数据量,单位为 Byte。
routine_load_task_consume_second15每个 Routine Load task 消费数据的最大时间,单位为秒。
routine_load_task_timeout_second60每个 Routine Load task 超时时间,单位为秒。
routine_load_unstable_threshold_second3600outine Load 导入作业的任一导入任务消费延迟,即正在消费的消息时间戳与当前时间的差值超过该阈值,且数据源中存在未被消费的消息,则导入作业置为 UNSTABLE 状态。单位为秒。
max_tolerable_backend_down_num0允许的最大故障 BE 数。如果故障的 BE 节点数超过该阈值,则不能自动恢复 Routine Load 作业。
period_of_auto_resume_min5自动恢复 Routine Load 的时间间隔,单位为分钟。
spark_load_default_timeout_second86400Spark 导入的超时时间,单位为秒。
spark_home_default_dirStarRocksFE.STARROCKS_HOME_DIR + "/lib/spark2x"Spark 客户端根目录。
stream_load_default_timeout_second600Stream Load 的默认超时时间,单位为秒。
max_stream_load_timeout_second259200Stream Load 的最大超时时间,单位为秒。
insert_load_default_timeout_second3600Insert Into 语句的超时时间,单位为秒。
broker_load_default_timeout_second14400Broker Load 的超时时间,单位为秒。
min_bytes_per_broker_scanner67108864单个 Broker Load 任务最大并发实例数,单位为 Byte。
max_broker_concurrency100单个 Broker Load 任务最大并发实例数。
export_max_bytes_per_be_per_task268435456单个导出任务在单个 BE 上导出的最大数据量,单位为 Byte。
export_running_job_num_limit5导出作业最大的运行数目。
export_task_default_timeout_second7200导出作业的超时时长,单位为秒。
empty_load_as_errorTRUE导入数据为空时,是否返回报错提示 all partitions have no load data。取值:
- TRUE:当导入数据为空时,则显示导入失败,并返回报错提示 all partitions have no load data
- FALSE:当导入数据为空时,则显示导入成功,并返回 OK,不返回报错提示。
external_table_commit_timeout_ms10000发布写事务到 StarRocks 外表的超时时长,单位为毫秒。默认值 10000 表示超时时长为 10 秒。

存储

配置项默认值描述
enable_strict_storage_medium_checkFALSE建表时,是否严格校验存储介质类型。
为 true 时表示在建表时,会严格校验 BE 上的存储介质。比如建表时指定 storage_medium = HDD,而 BE 上只配置了 SSD,那么建表失败。
为 FALSE 时则忽略介质匹配,建表成功。
enable_auto_tablet_distributionTRUE是否开启自动设置分桶功能。
  • 设置为 true 表示开启,您在建表或新增分区时无需指定分桶数目,StarRocks 自动决定分桶数量。自动设置分桶数目的策略,请参见确定分桶数量
  • 设置为 false 表示关闭,您在建表时需要手动指定分桶数量。
    新增分区时,如果您不指定分桶数量,则新分区的分桶数量继承建表时候的分桶数量。当然您也可以手动指定新增分区的分桶数量。
自 2.5.6 版本起,StarRocks 支持设置该参数。
storage_usage_soft_limit_percent90单个 BE 存储目录空间使用率软上限。如果 BE 存储目录空间使用率超过该值且剩余空间小于 storage_usage_soft_limit_reserve_bytes,则不能继续往该路径 clone tablet。
storage_usage_soft_limit_reserve_bytes200 * 1024 * 1024 * 1024单个 BE 存储目录剩余空间软限制。默认 200GB,单位为 Byte,如果 BE 存储目录下剩余空间小于该值且空间使用率超过 storage_usage_soft_limit_percent,则不能继续往该路径 clone tablet。
storage_usage_hard_limit_percent95单个 BE 存储目录空间使用率硬上限。如果 BE 存储目录空间使用率超过该值且剩余空间小于 storage_usage_hard_limit_reserve_bytes,会拒绝 Load 和 Restore 作业。配置该参数时,需要同时配置 BE 参数storage_flood_stage_usage_percent 才能使配置生效。
storage_usage_hard_limit_reserve_bytes100 * 1024 * 1024 * 1024单个 BE 存储目录剩余空间硬限制。默认 100 GB,单位为 Byte。如果 BE 存储目录下剩余空间小于该值且空间使用率超过 storage_usage_hard_limit_percent,会拒绝 Load 和 Restore 作业。配置该参数时,需要同时配置 BE 参数 storage_flood_stage_left_capacity_bytes 才能使配置生效。
catalog_trash_expire_second86400删除表/数据库之后,元数据在回收站中保留的时长,超过这个时长,数据就不可以在恢复,单位为秒。
alter_table_timeout_second86400Schema change 超时时间,单位为秒。
recover_with_empty_tabletFALSE在 tablet 副本丢失/损坏时,是否使用空的 tablet 代替。
这样可以保证在有 tablet 副本丢失/损坏时,query 依然能被执行(但是由于缺失了数据,结果可能是错误的)。默认为 false,不进行替代,查询会失败。
tablet_create_timeout_second10创建 tablet 的超时时长,单位为秒。
tablet_delete_timeout_second2删除 tablet 的超时时长,单位为秒。
check_consistency_default_timeout_second600副本一致性检测的超时时间,单位为秒。
tablet_sched_slot_num_per_path8一个 BE 存储目录能够同时执行 tablet 相关任务的数目。参数别名 schedule_slot_num_per_path。从 2.5 版本开始,该参数默认值从 2.4 版本的 4 变为 8
tablet_sched_max_scheduling_tablets10000可同时调度的 tablet 的数量。如果正在调度的 tablet 数量超过该值,跳过 tablet 均衡和修复检查。
tablet_sched_disable_balanceFALSE是否禁用 Tablet 均衡调度。参数别名 disable_balance
tablet_sched_disable_colocate_balanceFALSE是否禁用 Colocate Table 的副本均衡。参数别名 disable_colocate_balance
tablet_sched_max_balancing_tablets500正在均衡的 tablet 数量的最大值。如果正在均衡的 tablet 数量超过该值,跳过 tablet 重新均衡。参数别名 max_balancing_tablets
tablet_sched_balance_load_disk_safe_threshold0.5判断 BE 磁盘使用率是否均衡的阈值。只有 tablet_sched_balancer_strategy 设置为 disk_and_tablet时,该参数才生效。
如果所有 BE 的磁盘使用率低于 50%,认为磁盘使用均衡。
对于 disk_and_tablet 策略,如果最大和最小 BE 磁盘使用率之差高于 10%,认为磁盘使用不均衡,会触发 tablet 重新均衡。参数别名balance_load_disk_safe_threshold
tablet_sched_balance_load_score_threshold0.1用于判断 BE 负载是否均衡。只有 tablet_sched_balancer_strategy 设置为 be_load_score时,该参数才生效。
负载比平均负载低 10% 的 BE 处于低负载状态,比平均负载高 10% 的 BE 处于高负载状态。参数别名 balance_load_score_threshold
tablet_sched_repair_delay_factor_second60FE 进行副本修复的间隔,单位为秒。参数别名 tablet_repair_delay_factor_second
tablet_sched_min_clone_task_timeout_sec3 * 60克隆 Tablet 的最小超时时间,单位为秒。
tablet_sched_max_clone_task_timeout_sec2 * 60 * 60克隆 Tablet 的最大超时时间,单位为秒。参数别名 max_clone_task_timeout_sec
tablet_sched_max_not_being_scheduled_interval_ms15 * 60 * 100克隆 Tablet 调度时,如果超过该时间一直未被调度,则将该 Tablet 的调度优先级升高,以尽可能优先调度。
tablet_sched_be_down_tolerate_time_s900调度器容忍 BE 节点保持不存活状态的最长时间。超时之后该节点上的 Tablet 会被迁移到其他存活的 BE 节点上。单位:Seconds。

其他动态参数

配置项默认值描述
plugin_enableTRUE是否开启了插件功能。只能在 Leader FE 安装/卸载插件。
max_small_file_number100允许存储小文件数目的最大值。
max_small_file_size_bytes1024 * 1024存储文件的大小上限,单位为 Byte。
agent_task_resend_wait_time_ms5000Agent task 重新发送前的等待时间。当代理任务的创建时间已设置,并且距离现在超过该值,才能重新发送代理任务,单位为 ms。
该参数防止过于频繁的代理任务发送。
backup_job_default_timeout_ms86400*1000Backup 作业的超时时间,单位为 ms。
enable_experimental_mvTRUE是否开启异步物化视图功能。TRUE 表示开启。从 2.5.2 版本开始,该功能默认开启。2.5.2 版本之前默认值为 FALSE
authentication_ldap_simple_bind_base_dn空字符串检索用户时,使用的 Base DN,用于指定 LDAP 服务器检索用户鉴权信息的起始点。
authentication_ldap_simple_bind_root_dn空字符串检索用户时,使用的管理员账号的 DN。
authentication_ldap_simple_bind_root_pwd空字符串检索用户时,使用的管理员账号的密码。
authentication_ldap_simple_server_host空字符串LDAP 服务器所在主机的主机名。
authentication_ldap_simple_server_port389LDAP 服务器的端口。
authentication_ldap_simple_user_search_attruidLDAP 对象中标识用户的属性名称。
max_upload_task_per_be0单次 BACKUP 操作下,系统向单个 BE 节点下发的最大上传任务数。设置为小于或等于 0 时表示不限制任务数。该参数自 v2.5.7 起新增。
max_download_task_per_be0单次 RESTORE 操作下,系统向单个 BE 节点下发的最大下载任务数。设置为小于或等于 0 时表示不限制任务数。该参数自 v2.5.7 起新增。
allow_system_reserved_namesFALSE是否允许用户创建以 __op__row 开头命名的列。TRUE 表示启用此功能。请注意,在 StarRocks 中,这样的列名被保留用于特殊目的,创建这样的列可能导致未知行为,因此系统默认禁止使用这类名字。该参数自 v2.5.15 起新增。
default_mv_refresh_immediateTRUE创建异步物化视图后,是否立即刷新该物化视图。当设置为 true 时,异步物化视图创建后会立即刷新。该参数自 v2.5.18 起新增。

配置 FE 静态参数

以下 FE 配置项为静态参数,不支持在线修改,您需要在 fe.conf 中修改并重启 FE。

Log

配置项默认值描述
log_roll_size_mb1024日志文件的大小。单位:MB。默认值 1024 表示每个日志文件的大小为 1 GB。
sys_log_dirStarRocksFE.STARROCKS_HOME_DIR + "/log"系统日志文件的保存目录。
sys_log_levelINFO系统日志的级别,从低到高依次为 INFOWARNERRORFATAL
sys_log_verbose_modules空字符串打印系统日志的模块。如果设置参数取值为 org.apache.starrocks.catalog,则表示只打印 Catalog 模块下的日志。
sys_log_roll_intervalDAY系统日志滚动的时间间隔。取值范围:DAYHOUR
取值为 DAY 时,日志文件名的后缀为 yyyyMMdd。取值为 HOUR 时,日志文件名的后缀为 yyyyMMddHH
sys_log_delete_age7d系统日志文件的保留时长。默认值 7d 表示系统日志文件可以保留 7 天,保留时长超过 7 天的系统日志文件会被删除。
sys_log_roll_num10每个 sys_log_roll_interval 时间段内,允许保留的系统日志文件的最大数目。
audit_log_dirStarRocksFE.STARROCKS_HOME_DIR + "/log"审计日志文件的保存目录。
audit_log_roll_num90每个 audit_log_roll_interval 时间段内,允许保留的审计日志文件的最大数目。
audit_log_modulesslow_query, query打印审计日志的模块。默认打印 slow_query 和 query 模块的日志。可以指定多个模块,模块名称之间用英文逗号加一个空格分隔。
audit_log_roll_intervalDAY审计日志滚动的时间间隔。取值范围:DAYHOUR
取值为 DAY 时,日志文件名的后缀为 yyyyMMdd。取值为 HOUR 时,日志文件名的后缀为 yyyyMMddHH
audit_log_delete_age30d审计日志文件的保留时长。默认值 30d 表示审计日志文件可以保留 30 天,保留时长超过 30 天的审计日志文件会被删除。
dump_log_dirStarRocksFE.STARROCKS_HOME_DIR + "/log"Dump 日志文件的保存目录。
dump_log_modulesquery打印 Dump 日志的模块。默认打印 query 模块的日志。可以指定多个模块,模块名称之间用英文逗号加一个空格分隔。
dump_log_roll_intervalDAYDump 日志滚动的时间间隔。取值范围:DAYHOUR
取值为 DAY 时,日志文件名的后缀为 yyyyMMdd。取值为 HOUR 时,日志文件名的后缀为 yyyyMMddHH
dump_log_roll_num10每个 dump_log_roll_interval 时间内,允许保留的 Dump 日志文件的最大数目。
dump_log_delete_age7dDump 日志文件的保留时长。默认值 7d 表示 Dump 日志文件可以保留 7 天,保留时长超过 7 天的 Dump 日志文件会被删除。

Server

配置项默认值描述
frontend_address0.0.0.0FE 节点的 IP 地址。
priority_networks空字符串为那些有多个 IP 地址的服务器声明一个选择策略。
请注意,最多应该有一个 IP 地址与此列表匹配。这是一个以分号分隔格式的列表,用 CIDR 表示法,例如 10.10.10.0/24。 如果没有匹配这条规则的ip,会随机选择一个。
http_port8030FE 节点上 HTTP 服务器的端口。
http_worker_threads_num0Http 服务器用于处理 HTTP 请求的线程数。如果配置为负数或 0 ,线程数将设置为 CPU 核数的 2 倍。引入版本:2.5.18,3.0.10,3.1.7,3.2.2。
http_backlog_num1024HTTP 服务器支持的 Backlog 队列长度。
cluster_nameStarRocks ClusterFE 所在 StarRocks 集群的名称,显示为网页标题。
rpc_port9020FE 节点上 Thrift 服务器的端口。
thrift_backlog_num1024Thrift 服务器支持的 Backlog 队列长度。
thrift_server_max_worker_threads4096Thrift 服务器支持的最大工作线程数。
thrift_client_timeout_ms5000Thrift 客户端链接的空闲超时时间,即链接超过该时间无新请求后则将链接断开。单位:ms。
thrift_server_queue_size4096Thrift 服务器 pending 队列长度。如果当前处理线程数量超过了配置项 thrift_server_max_worker_threads 的值,则将超出的线程加入 pending 队列。
brpc_idle_wait_max_time10000bRPC 的空闲等待时间。单位:ms。
query_port9030FE 节点上 MySQL 服务器的端口。
mysql_service_nio_enabledTRUE是否开启 MySQL 服务器的异步 I/O 选项。
mysql_service_io_threads_num4MySQL 服务器中用于处理 I/O 事件的最大线程数。
mysql_nio_backlog_num1024MySQL 服务器支持的 Backlog 队列长度。
max_mysql_service_task_threads_num4096MySQL 服务器中用于处理任务的最大线程数。
mysql_server_version5.1.0MySQL 服务器的版本。修改该参数配置会影响以下场景中返回的版本号:1. select version(); 2. Handshake packet 版本 3. 全局变量 version 的取值 (show variables like 'version';)
max_connection_scheduler_threads_num4096连接调度器支持的最大线程数。
qe_max_connection1024FE 支持的最大连接数,包括所有用户发起的连接。
check_java_versionTRUE检查已编译的 Java 版本与运行的 Java 版本是否兼容。
如果不兼容,则上报 Java 版本不匹配的异常信息,并终止启动。

元数据与集群管理

配置项默认值描述
meta_dirStarRocksFE.STARROCKS_HOME_DIR + "/meta"元数据的保存目录。
heartbeat_mgr_threads_num8Heartbeat Manager 中用于发送心跳任务的最大线程数。
heartbeat_mgr_blocking_queue_size1024Heartbeat Manager 中存储心跳任务的阻塞队列大小。
metadata_failure_recoveryFALSE是否强制重置 FE 的元数据。请谨慎使用该配置项。
edit_log_port9010FE 所在 StarRocks 集群中各 Leader FE、Follower FE、Observer FE 之间通信用的端口。
edit_log_typeBDB编辑日志的类型。取值只能为 BDB
bdbje_heartbeat_timeout_second30FE 所在 StarRocks 集群中 Leader FE 和 Follower FE 之间的 BDB JE 心跳超时时间。单位:秒。
bdbje_lock_timeout_second1BDB JE 操作的锁超时时间。单位:秒。
max_bdbje_clock_delta_ms5000FE 所在 StarRocks 集群中 Leader FE 与非 Leader FE 之间能够容忍的最大时钟偏移。单位:ms。
txn_rollback_limit100允许回滚的最大事务数。
bdbje_replica_ack_timeout_second10FE 所在 StarRocks 集群中,元数据从 Leader FE 写入到多个 Follower FE 时,Leader FE 等待足够多的 Follower FE 发送 ACK 消息的超时时间。单位:秒。当写入的元数据较多时,可能返回 ACK 的时间较长,进而导致等待超时。如果超时,会导致写元数据失败,FE 进程退出,此时可以适当地调大该参数取值。
master_sync_policySYNCFE 所在 StarRocks 集群中,Leader FE 上的日志刷盘方式。该参数仅在当前 FE 为 Leader 时有效。取值范围:
  • SYNC:事务提交时同步写日志并刷盘。
  • NO_SYNC:事务提交时不同步写日志。
  • WRITE_NO_SYNC:事务提交时同步写日志,但是不刷盘。
如果您只部署了一个 Follower FE,建议将其设置为 SYNC。 如果您部署了 3 个及以上 Follower FE,建议将其与下面的 replica_sync_policy 均设置为 WRITE_NO_SYNC
replica_sync_policySYNCFE 所在 StarRocks 集群中,Follower FE 上的日志刷盘方式。取值范围:
  • SYNC:事务提交时同步写日志并刷盘。
  • NO_SYNC:事务提交时不同步写日志。
  • WRITE_NO_SYNC:事务提交时同步写日志,但是不刷盘。
replica_ack_policySIMPLE_MAJORITY判定日志是否有效的策略,默认是多数 Follower FE 返回确认消息,就认为生效。
cluster_id-1FE 所在 StarRocks 集群的 ID。具有相同集群 ID 的 FE 或 BE 属于同一个 StarRocks 集群。取值范围:正整数。默认值 -1 表示在 Leader FE 首次启动时随机生成一个。

Query engine

配置项默认值描述
publish_version_interval_ms10两个版本发布操作之间的时间间隔。单位:ms。
statistic_cache_columns100000缓存统计信息表的最大行数。

导入和导出

配置项默认值描述
async_load_task_pool_size2导入任务线程池的大小。本参数仅适用于 Broker Load。取值必须小于 max_running_txn_num_per_db。从 2.5 版本开始,该参数更名为 max_broker_load_job_concurrency(动态参数),且默认值从 10 变为 2
load_checker_interval_second5导入作业的轮询间隔。单位:秒。
transaction_clean_interval_second30已结束事务的清理间隔。单位:秒。建议清理间隔尽量短,从而确保已完成的事务能够及时清理掉。
label_clean_interval_second14400作业标签的清理间隔。单位:秒。建议清理间隔尽量短,从而确保历史作业的标签能够及时清理掉。
spark_dpp_version1.0.0Spark DPP 特性的版本。
spark_resource_path空字符串Spark 依赖包的根目录。
spark_launcher_log_dirsys_log_dir + "/spark_launcher_log"Spark 日志的保存目录。
yarn_client_pathStarRocksFE.STARROCKS_HOME_DIR + "/lib/yarn-client/hadoop/bin/yarn"Yarn 客户端的根目录。
yarn_config_dirStarRocksFE.STARROCKS_HOME_DIR + "/lib/yarn-config"Yarn 配置文件的保存目录。
export_checker_interval_second5导出作业调度器的调度间隔。
export_task_pool_size5导出任务线程池的大小。
broker_client_timeout_ms10000Broker RPC 的默认超时时间,单位:毫秒,默认值 10s。

存储

配置项默认值描述
tablet_sched_balancer_strategydisk_and_tabletTablet 均衡策略。参数别名为 tablet_balancer_strategy。取值范围:disk_and_tabletbe_load_score
tablet_sched_storage_cooldown_second-1从 Table 创建时间点开始计算,自动降冷的时延。降冷是指从 SSD 介质迁移到 HDD 介质。
参数别名为 storage_cooldown_second。单位:秒。默认值 -1 表示不进行自动降冷。如需启用自动降冷功能,请显式设置参数取值大于 0。
tablet_stat_update_interval_second300FE 向每个 BE 请求收集 Tablet 统计信息的时间间隔。单位:秒。

其他静态参数

配置项默认值描述
plugin_dirSTARROCKS_HOME_DIR/plugins插件的安装目录。
small_file_dirStarRocksFE.STARROCKS_HOME_DIR + "/small_files"小文件的根目录。
max_agent_task_threads_num4096代理任务线程池中用于处理代理任务的最大线程数。
auth_token空字符串用于内部身份验证的集群令牌。为空则在 Leader FE 第一次启动时随机生成一个。
tmp_dirStarRocksFE.STARROCKS_HOME_DIR + "/temp_dir"临时文件的保存目录,例如备份和恢复过程中产生的临时文件。
这些过程完成以后,所产生的临时文件会被清除掉。
localezh_CN.UTF-8FE 所使用的字符集。
hive_meta_load_concurrency4Hive 元数据支持的最大并发线程数。
hive_meta_cache_refresh_interval_s7200刷新 Hive 外表元数据缓存的时间间隔。单位:秒。
hive_meta_cache_ttl_s86400Hive 外表元数据缓存的失效时间。单位:秒。
hive_meta_store_timeout_s10连接 Hive Metastore 的超时时间。单位:秒。
es_state_sync_interval_second10FE 获取 Elasticsearch Index 和同步 StarRocks 外部表元数据的时间间隔。单位:秒。
enable_auth_checkTRUE是否开启鉴权检查功能。取值范围:TRUEFALSETRUE 表示开该功能。FALSE表示关闭该功能。
enable_metric_calculatorTRUE是否开启定期收集指标 (Metrics) 的功能。取值范围:TRUEFALSETRUE 表示开该功能。FALSE表示关闭该功能。

BE 配置项

部分 BE 节点配置项为动态参数,您可以通过命令在线修改。其他配置项为静态参数,需要通过修改 be.conf 文件后重启 BE 服务使相关修改生效。

查看 BE 配置项

您可以通过以下命令查看 BE 配置项:

curl http://<BE_IP>:<BE_HTTP_PORT>/varz

配置 BE 动态参数

您可以通过 curl 命令在线修改 BE 节点动态参数。

curl -XPOST http://be_host:http_port/api/update_config?configuration_item=value

以下是 BE 动态参数列表。

配置项默认值单位描述
enable_stream_load_verbose_logfalseN/A是否在日志中记录 Stream Load 的 HTTP 请求和响应信息。该参数自以下版本开始引入:2.5.17、3.0.9、3.1.6、3.2.1。
report_task_interval_seconds10second汇报单个任务的间隔。建表,删除表,导入,schema change 都可以被认定是任务。
report_disk_state_interval_seconds60second汇报磁盘状态的间隔。汇报各个磁盘的状态,以及其中数据量等。
report_tablet_interval_seconds60second汇报 tablet 的间隔。汇报所有的 tablet 的最新版本。
report_workgroup_interval_seconds5second汇报 workgroup 的间隔。汇报所有 workgroup 的最新版本。
max_download_speed_kbps50000KB/s单个 HTTP 请求的最大下载速率。这个值会影响 BE 之间同步数据副本的速度。
download_low_speed_limit_kbps50KB/s单个 HTTP 请求的下载速率下限。如果在 download_low_speed_time 秒内下载速度一直低于download_low_speed_limit_kbps,那么请求会被终止。
download_low_speed_time300seconddownload_low_speed_limit_kbps
status_report_interval5second查询汇报 profile 的间隔,用于 FE 收集查询统计信息。
scanner_thread_pool_thread_num48N/A存储引擎并发扫描磁盘的线程数,统一管理在线程池中。
thrift_client_retry_interval_ms100msThrift client 默认的重试时间间隔。
scanner_thread_pool_queue_size102400N/A存储引擎支持的扫描任务数。
scanner_row_num16384N/A每个扫描线程单次执行最多返回的数据行数。
max_scan_key_num1024N/A查询最多拆分的 scan key 数目。
max_pushdown_conditions_per_column1024N/A单列上允许下推的最大谓词数量,如果超出数量限制,谓词不会下推到存储层。
exchg_node_buffer_size_bytes10485760ByteExchange 算子中,单个查询在接收端的 buffer 容量。
这是一个软限制,如果数据的发送速度过快,接收端会触发反压来限制发送速度。
column_dictionary_key_ratio_threshold0%字符串类型的取值比例,小于这个比例采用字典压缩算法。
memory_limitation_per_thread_for_schema_change2GB单个 schema change 任务允许占用的最大内存。
update_cache_expire_sec360secondUpdate Cache 的过期时间。
file_descriptor_cache_clean_interval3600second文件句柄缓存清理的间隔,用于清理长期不用的文件句柄。
disk_stat_monitor_interval5second磁盘健康状态检测的间隔。
unused_rowset_monitor_interval30second清理过期 Rowset 的时间间隔。
max_percentage_of_error_disk0%磁盘错误达到一定比例,BE 退出。
default_num_rows_per_column_file_block1024N/A每个 row block 最多存放的行数。
pending_data_expire_time_sec1800second存储引擎保留的未生效数据的最大时长。
inc_rowset_expired_sec1800second导入生效的数据,存储引擎保留的时间,用于增量克隆。
tablet_rowset_stale_sweep_time_sec1800second失效 rowset 的清理间隔。缩短该间隔可以降低导入时元数据的占用。
snapshot_expire_time_sec172800second快照文件清理的间隔,默认 48 个小时。
trash_file_expire_time_sec86,400second回收站清理的间隔,默认 24 个小时。自 v2.5.17、v3.0.9 以及 v3.1.6 起,默认值由 259,200 变为 86,400。
base_compaction_check_interval_seconds60secondBaseCompaction 线程轮询的间隔。
min_base_compaction_num_singleton_deltas5N/A触发 BaseCompaction 的最小 segment 数。
max_base_compaction_num_singleton_deltas100N/A单次 BaseCompaction 合并的最大 segment 数。
base_compaction_interval_seconds_since_last_operation86400second上一轮 BaseCompaction 距今的间隔,是触发 BaseCompaction 条件之一。
cumulative_compaction_check_interval_seconds1secondCumulativeCompaction 线程轮询的间隔。
update_compaction_check_interval_seconds60secondPrimary key 模型 Update compaction 的检查间隔。
min_compaction_failure_interval_sec120secondTablet Compaction 失败之后,再次被调度的间隔。
periodic_counter_update_period_ms500msCounter 统计信息的间隔。
pindex_major_compaction_limit_per_disk1N/A每块盘 Compaction 的最大并发数,用于解决 Compaction 在磁盘之间不均衡导致个别磁盘 I/O 过高的问题。引入版本:3.0.9。
load_error_log_reserve_hours48hour导入数据信息保留的时长。
streaming_load_max_mb10240MB流式导入单个文件大小的上限。
streaming_load_max_batch_size_mb100MB流式导入单个 JSON 文件大小的上限。
memory_maintenance_sleep_time_s10second触发 ColumnPool GC 任务的时间间隔。StarRocks 会周期运行 GC 任务,尝试将空闲内存返还给操作系统。
write_buffer_size104857600ByteMemTable 在内存中的 buffer 大小,超过这个限制会触发 flush。
tablet_stat_cache_update_interval_second300secondTablet Stat Cache 的更新间隔。
result_buffer_cancelled_interval_time300secondBufferControlBlock 释放数据的等待时间。
thrift_rpc_timeout_ms5000msThrift 超时的时长,单位为 ms。
txn_commit_rpc_timeout_ms20000msTxn 超时的时长,单位为 ms。
max_consumer_num_per_group3N/ARoutine load 中,每个consumer group 内最大的 consumer 数量。
max_memory_sink_batch_count20N/AScan cache 的最大缓存批次数量。
scan_context_gc_interval_min5MinuteScan context 的清理间隔。
path_gc_check_step1000N/A单次连续 scan 最大的文件数量。
path_gc_check_step_interval_ms10ms多次连续 scan 文件间隔时间。
path_scan_interval_second86400secondgc 线程清理过期数据的间隔时间。
storage_flood_stage_usage_percent95%BE 存储目录整体磁盘空间使用率的硬上限。如果空间使用率超过该值且剩余空间小于 storage_flood_stage_left_capacity_bytes,会拒绝 Load 和 Restore 作业。配置该参数时,需要同步修改 FE 配置 storage_usage_hard_limit_percent 才能使配置生效。
storage_flood_stage_left_capacity_bytes107374182400ByteBE 存储目录整体磁盘剩余空间的硬限制。如果剩余空间小于该值且空间使用率超过 storage_flood_stage_usage_percent,会拒绝 Load 和 Restore 作业,默认 100GB。配置该参数时,需要同步修改 FE 配置 storage_usage_hard_limit_reserve_bytes 才能使配置生效。
tablet_meta_checkpoint_min_new_rowsets_num10N/A自上次 TabletMeta Checkpoint 至今新创建的 rowset 数量。
tablet_meta_checkpoint_min_interval_secs600secondTabletMeta Checkpoint 线程轮询的时间间隔。
max_runnings_transactions_per_txn_map100N/A每个分区内部同时运行的最大事务数量。
tablet_max_pending_versions1000N/APrimary Key 表每个 tablet 上允许已提交 (committed) 但是未 apply 的最大版本数。
tablet_max_versions1000N/A每个 tablet 上允许的最大版本数。如果超过该值,新的写入请求会失败。
max_hdfs_file_handle1000N/A最多可以打开的 HDFS 文件句柄数量。
be_exit_after_disk_write_hang_second60second磁盘挂起后触发 BE 进程退出的等待时间。
min_cumulative_compaction_failure_interval_sec30secondCumulative Compaction 失败后的最小重试间隔。
size_tiered_level_num7N/ASize-tiered Compaction 策略的 level 数量。每个 level 最多保留一个 rowset,因此稳定状态下最多会有和 level 数相同的 rowset。
size_tiered_level_multiple5N/ASize-tiered Compaction 策略中,相邻两个 level 之间相差的数据量的倍数。
size_tiered_min_level_size131072ByteSize-tiered Compaction 策略中,最小 level 的大小,小于此数值的 rowset 会直接触发 compaction。
storage_page_cache_limit20%N/APageCache 的容量,STRING,可写为容量大小,例如: 20G20480M20971520K21474836480B。也可以写为 PageCache 占系统内存的比例,例如,20%。该参数仅在 disable_storage_page_cachefalse 时生效。
max_compaction_concurrency-1N/ACompaction 线程数上限(即 BaseCompaction + CumulativeCompaction 的最大并发)。该参数防止 Compaction 占用过多内存。 -1 代表没有限制。0 表示不允许 compaction。
alter_tablet_worker_count3N/A进行 schema change 的线程数。自 2.5 版本起,该参数由静态变为动态。

配置 BE 静态参数

以下 BE 配置项为静态参数,不支持在线修改,您需要在 be.conf 中修改并重启 BE 服务。

配置项默认值描述
be_port9060BE 上 thrift server 的端口,用于接收来自 FE 的请求。
brpc_port8060bRPC 的端口,可以查看 bBRPC 的一些网络统计信息。
brpc_num_threads-1bRPC 的 bthreads 线程数量,-1 表示和 CPU 核数一样。
priority_networks空字符串以 CIDR 形式 10.10.10.0/24 指定 BE IP 地址,适用于机器有多个 IP,需要指定优先使用的网络。
heartbeat_service_port9050心跳服务端口(thrift),用户接收来自 FE 的心跳。
heartbeat_service_thread_count1心跳线程数。
create_tablet_worker_count3创建 tablet 的线程数。
drop_tablet_worker_count3删除 tablet 的线程数。
push_worker_count_normal_priority3导入线程数,处理 NORMAL 优先级任务。
push_worker_count_high_priority3导入线程数,处理 HIGH 优先级任务。
transaction_publish_version_worker_count0生效版本的最大线程数。当该参数被设置为小于或等于 0 时,系统默认使用 CPU 核数的一半,以避免因使用固定值而导致在导入并行较高时线程资源不足。自 2.5 版本起,默认值由 8 变更为 0
clear_transaction_task_worker_count1清理事务的线程数。
clone_worker_count3克隆的线程数。
storage_medium_migrate_count1介质迁移的线程数,SATA 迁移到 SSD。
check_consistency_worker_count1计算 tablet 的校验和 (checksum)。
sys_log_dir${STARROCKS_HOME}/log存放日志的地方,包括 INFO,WARNING,ERROR,FATAL 等日志。
user_function_dir${STARROCKS_HOME}/lib/udfUDF 程序存放的路径。
small_file_dir${STARROCKS_HOME}/lib/small_file保存文件管理器下载的文件的目录。
sys_log_levelINFO日志级别,INFO < WARNING < ERROR < FATAL。
sys_log_roll_modeSIZE-MB-1024日志拆分的大小,每 1G 拆分一个日志。
sys_log_roll_num10日志保留的数目。
sys_log_verbose_modules空字符串日志打印的模块,写 olap 就只打印 olap 模块下的日志。
sys_log_verbose_level10日志显示的级别,用于控制代码中 VLOG 开头的日志输出。
log_buffer_level空字符串日志刷盘的策略,默认保持在内存中。
num_threads_per_core3每个 CPU core 启动的线程数。
compress_rowbatchesTRUEBE 之间 RPC 通信是否压缩 RowBatch,用于查询层之间的数据传输。
serialize_batchFALSEBE 之间 RPC 通信是否序列化 RowBatch,用于查询层之间的数据传输。
file_descriptor_cache_clean_interval3600文件句柄缓存清理的间隔,用于清理长期不用的文件句柄
storage_root_path${STARROCKS_HOME}/storage存储数据的目录以及存储介质类型,多块盘配置使用分号 ; 隔开。
如果为 SSD 磁盘,需在路径后添加 ,medium:ssd,如果为 HDD 磁盘,需在路径后添加 ,medium:hdd。例如:/data1,medium:hdd;/data2,medium:ssd
max_length_for_bitmap_function1000000bitmap 函数输入值的最大长度。单位:字节。
max_length_for_to_base64200000to_base64() 函数输入值的最大长度。单位:字节。
max_percentage_of_error_disk0磁盘错误达到一定比例,BE 退出。
max_tablet_num_per_shard1024每个 shard 的 tablet 数目,用于划分 tablet,防止单个目录下 tablet 子目录过多。
max_garbage_sweep_interval3600磁盘进行垃圾清理的最大间隔。
min_garbage_sweep_interval180磁盘进行垃圾清理的最小间隔。
file_descriptor_cache_capacity16384文件句柄缓存的容量。
min_file_descriptor_number60000BE 进程的文件句柄 limit 要求的下线。
index_stream_cache_capacity10737418240BloomFilter/Min/Max 等统计信息缓存的容量。
disable_storage_page_cacheFALSE是否开启 PageCache。开启 PageCache 后,StarRocks 会缓存最近扫描过的数据,对于查询重复性高的场景,会大幅提升查询效率。true 表示不开启。自 2.4 版本起,该参数默认值由 true 变更为 false
base_compaction_num_threads_per_disk1每个磁盘 BaseCompaction 线程的数目。
base_cumulative_delta_ratio0.3BaseCompaction 触发条件之一:Cumulative 文件大小达到 Base 文件的比例。
max_compaction_concurrency-1BaseCompaction + CumulativeCompaction 的最大并发, -1 代表没有限制。
compaction_trace_threshold60单次 Compaction 打印 trace 的时间阈值,如果单次 compaction 时间超过该阈值就打印 trace,单位为秒。
webserver_port8040HTTP Server 端口。
webserver_num_workers48HTTP Server 线程数。
load_data_reserve_hours4小批量导入生成的文件保留的时。
number_tablet_writer_threads16流式导入的线程数。
streaming_load_rpc_max_alive_time_sec1200流式导入 RPC 的超时时间。
fragment_pool_thread_num_min64最小查询线程数,默认启动 64 个线程。
fragment_pool_thread_num_max4096最大查询线程数。
fragment_pool_queue_size2048单节点上能够处理的查询请求上限。
enable_token_checkTRUEToken 开启检验。
enable_prefetchTRUE查询提前预取。
load_process_max_memory_limit_bytes107374182400单节点上所有的导入线程占据的内存上限,100GB。
load_process_max_memory_limit_percent30单节点上所有的导入线程占据的内存上限比例。
sync_tablet_metaFALSE存储引擎是否开 sync 保留到磁盘上。
routine_load_thread_pool_size10单节点上 Routine Load 线程池大小。从 3.1.0 版本起,该参数废弃。单节点上 Routine Load 线程池大小完全由 FE 动态参数 max_routine_load_task_num_per_be 控制。
internal_service_async_thread_num10单个 BE 上与 Kafka 交互的线程池大小。当前 Routine Load FE 与 Kafka 的交互需经由 BE 完成,而每个 BE 上实际执行操作的是一个单独的线程池。当 Routine Load 任务较多时,可能会出现线程池线程繁忙的情况,可以调整该配置。从 3.1.0 版本起,该参数废弃。单节点上 Routine Load 线程池大小完全由 FE 动态参数 max_routine_load_task_num_per_be 控制。
max_garbage_sweep_interval3600磁盘进行垃圾清理的最大间隔。单位:s。
min_garbage_sweep_interval180磁盘进行垃圾清理的最小间隔。单位:s。
brpc_max_body_size2147483648bRPC 最大的包容量,单位:Byte。
tablet_map_shard_size32Tablet 分组数。
enable_bitmap_union_disk_format_with_setFALSEBitmap 新存储格式,可以优化 bitmap_union 性能。
mem_limit90%BE 进程内存上限。可设为比例上限(如 "80%")或物理上限(如 "100G")。默认硬上限为 BE 所在机器内存的 90%,软上限为 BE 所在机器内存的 80%。如果 BE 为独立部署,则无需配置,如果 BE 与其它占用内存较多的服务混合部署,则需要合理配置。
flush_thread_num_per_store2每个 Store 用以 Flush MemTable 的线程数。
block_cache_enablefalse是否启用 Data Cache。
  • true:启用。
  • false:不启用,为默认值。
如要启用,设置该参数值为 true
block_cache_disk_pathN/A磁盘路径。支持添加多个路径,多个路径之间使用分号(;) 隔开。建议 BE 机器有几个磁盘即添加几个路径。配置路径后,StarRocks 会自动创建名为 cachelib_data 的文件用于缓存 block。
block_cache_meta_pathN/ABlock 的元数据存储目录,可自定义。推荐创建在 $STARROCKS_HOME 路径下。
block_cache_block_size1048576单个 block 大小,单位:字节。默认值为 1048576,即 1 MB。
block_cache_mem_size2147483648内存缓存数据量的上限,单位:字节。默认值为 2147483648,即 2 GB。推荐将该参数值最低设置成 20 GB。如在开启 Data Cache 期间,存在大量从磁盘读取数据的情况,可考虑调大该参数。
block_cache_disk_size0单个磁盘缓存数据量的上限,单位:字节。举例:在 block_cache_disk_path 中配置了 2 个磁盘,并设置 block_cache_disk_size 参数值为 21474836480,即 20 GB,那么最多可缓存 40 GB 的磁盘数据。默认值为 0,即仅使用内存作为缓存介质,不使用磁盘。
jdbc_connection_pool_size8JDBC 连接池大小。每个 BE 节点上访问 jdbc_url 相同的外表时会共用同一个连接池。
jdbc_minimum_idle_connections1JDBC 连接池中最少的空闲连接数量。
jdbc_connection_idle_timeout_ms600000JDBC 空闲连接超时时间。如果 JDBC 连接池内的连接空闲时间超过此值,连接池会关闭超过 jdbc_minimum_idle_connections 配置项中指定数量的空闲连接。
query_cache_capacity536870912指定 Query Cache 的大小。单位:Byte。默认为 512 MB。最小不低于 4 MB。如果当前的 BE 内存容量无法满足您期望的 Query Cache 大小,可以增加 BE 的内存容量,然后再设置合理的 Query Cache 大小。
每个 BE 都有自己私有的 Query Cache 存储空间,BE 只 Populate 或 Probe 自己本地的 Query Cache 存储空间。
enable_event_based_compaction_frameworkTRUE是否开启 Event-based Compaction Framework。true 代表开启。false 代表关闭。开启则能够在 tablet 数比较多或者单个 tablet 数据量比较大的场景下大幅降低 compaction 的开销。
update_compaction_size_threshold67108864主键表的 Compaction Score 是基于文件大小计算的,与其他表类型的文件数量不同。通过该参数可以使主键表的 Compaction Score 与其他类型表的相近,便于用户理解。从 v2.5.20 版本起,为了更快执行 compaction,该参数默认值从 268435456 (256 MB) 改为 67108864 (64 MB)。