合 StarRocks参数配置
本文介绍如何配置 StarRocks FE 节点、BE 节点、Broker 以及系统参数,并介绍相关参数。
FE 配置项
FE 参数分为动态参数和静态参数。动态参数可通过 SQL 命令进行在线配置和调整,方便快捷。
静态参数必须在 FE 配置文件 fe.conf 中进行配置和调整。调整完成后,需要重启 FE 使变更生效。
参数是否为动态参数可通过 [ADMIN SHOW CONFIG](https://docs.starrocks.io/zh-cn/latest/sql-reference/sql-statements/Administration/ADMIN SHOW CONFIG) 返回结果中的 IsMutable
列查看。TRUE
表示动态参数。
静态和动态参数均可通过 fe.conf 文件进行修改。
查看 FE 配置项
FE 启动后,您可以在 MySQL 客户端执行 ADMIN SHOW FRONTEND CONFIG 命令来查看参数配置。如果您想查看具体参数的配置,执行如下命令:
1 | ADMIN SHOW FRONTEND CONFIG [LIKE "pattern"]; |
详细的命令返回字段解释,参见 [ADMIN SHOW CONFIG](https://docs.starrocks.io/zh-cn/latest/sql-reference/sql-statements/Administration/ADMIN SHOW CONFIG)。
注意
只有拥有
cluster_admin
角色的用户才可以执行集群管理相关命令。
配置 FE 动态参数
您可以通过 [ADMIN SET FRONTEND CONFIG](https://docs.starrocks.io/zh-cn/latest/sql-reference/sql-statements/Administration/ADMIN SET CONFIG) 命令在线修改 FE 动态参数。
1 | ADMIN SET FRONTEND CONFIG ("key" = "value"); |
Log
配置项 | 默认值 | 描述 |
---|---|---|
qe_slow_log_ms | 5000 | Slow query 的认定时长,单位为 ms。如果查询的响应时间超过此阈值,则会在审计日志 fe.audit.log 中记录为 slow query。 |
元数据与集群管理
配置项 | 默认值 | 描述 |
---|---|---|
catalog_try_lock_timeout_ms | 5000 | 全局锁(global lock)获取的超时时长,单位为 ms。 |
edit_log_roll_num | 50000 | 该参数用于控制日志文件的大小,指定了每写多少条元数据日志,执行一次日志滚动操作来为这些日志生成新的日志文件。新日志文件会写入到 BDBJE Database。 |
ignore_unknown_log_id | FALSE | 是否忽略未知的 logID。当 FE 回滚到低版本时,可能存在低版本 BE 无法识别的 logID。 如果为 TRUE,则 FE 会忽略这些 logID;否则 FE 会退出。 |
ignore_meta_check | FALSE | 是否忽略元数据落后的情形。如果为 true,非主 FE 将忽略主 FE 与其自身之间的元数据延迟间隙,即使元数据延迟间隙超过 meta_delay_toleration_second,非主 FE 仍将提供读取服务。 当您尝试停止 Master FE 较长时间,但仍希望非 Master FE 可以提供读取服务时,该参数会很有帮助。 |
meta_delay_toleration_second | 300 | FE 所在 StarRocks 集群中,非 Leader FE 能够容忍的元数据落后的最大时间。单位:秒。 如果非 Leader FE 上的元数据与 Leader FE 上的元数据之间的延迟时间超过该参数取值,则该非 Leader FE 将停止服务。 |
drop_backend_after_decommission | TRUE | BE 被下线后,是否删除该 BE。true 代表 BE 被下线后会立即删除该 BE。False 代表下线完成后不删除 BE。 |
enable_collect_query_detail_info | FALSE | 是否收集查询的 profile 信息。设置为 true 时,系统会收集查询的 profile。设置为 false 时,系统不会收集查询的 profile。 |
enable_background_refresh_connector_metadata | v3.0 为 TRUE v2.5 为 FALSE | 是否开启 Hive 元数据缓存周期性刷新。开启后,StarRocks 会轮询 Hive 集群的元数据服务(Hive Metastore 或 AWS Glue),并刷新经常访问的 Hive 外部数据目录的元数据缓存,以感知数据更新。true 代表开启,false 代表关闭。自 v2.5.5 起支持。 |
background_refresh_metadata_interval_millis | 600000 | 接连两次 Hive 元数据缓存刷新之间的间隔。单位:毫秒。自 v2.5.5 起支持。 |
background_refresh_metadata_time_secs_since_last_access_secs | 86400 | Hive 元数据缓存刷新任务过期时间。对于已被访问过的 Hive Catalog,如果超过该时间没有被访问,则停止刷新其元数据缓存。对于未被访问过的 Hive Catalog,StarRocks 不会刷新其元数据缓存。单位:秒。自 v2.5.5 起支持。 |
Query engine
配置项 | 默认值 | 描述 |
---|---|---|
max_allowed_in_element_num_of_delete | 10000 | DELETE 语句中 IN 谓词最多允许的元素数量。 |
enable_materialized_view | TRUE | 是否允许创建物化视图。 |
enable_decimal_v3 | TRUE | 是否开启 Decimal V3。 |
enable_sql_blacklist | FALSE | 是否开启 SQL Query 黑名单校验。如果开启,在黑名单中的 Query 不能被执行。 |
dynamic_partition_check_interval_seconds | 600 | 动态分区检查的时间周期。如果有新数据生成,会自动生成分区。 |
dynamic_partition_enable | TRUE | 是否开启动态分区功能。打开后,您可以按需为新数据动态创建分区,同时 StarRocks 会⾃动删除过期分区,从而确保数据的时效性。 |
max_partitions_in_one_batch | 4096 | 批量创建分区时,分区数目的最大值。 |
max_query_retry_time | 2 | FE 上查询重试的最大次数。 |
max_create_table_timeout_second | 600 | 建表最大超时时间,单位为秒。 |
max_running_rollup_job_num_per_table | 1 | 每个 Table 执行 Rollup 任务的最大并发度。 |
max_planner_scalar_rewrite_num | 100000 | 优化器重写 ScalarOperator 允许的最大次数。 |
enable_statistic_collect | TRUE | 是否采集统计信息,该开关默认打开。 |
enable_collect_full_statistic | TRUE | 是否开启自动全量统计信息采集,该开关默认打开。 |
statistic_auto_collect_ratio | 0.8 | 自动统计信息的健康度阈值。如果统计信息的健康度小于该阈值,则触发自动采集。 |
statistic_max_full_collect_data_size | 100 | 自动统计信息采集的最大分区大小。单位:GB。 如果超过该值,则放弃全量采集,转为对该表进行抽样采集。 |
statistic_collect_interval_sec | 300 | 自动定期采集任务中,检测数据更新的间隔时间,默认为 5 分钟。单位:秒。 |
statistic_auto_analyze_start_time | STRING | 00:00:00 |
statistic_auto_analyze_end_time | STRING | 23:59:59 |
statistic_sample_collect_rows | 200000 | 最小采样行数。如果指定了采集类型为抽样采集(SAMPLE),需要设置该参数。 如果参数取值超过了实际的表行数,默认进行全量采集。 |
histogram_buckets_size | 64 | 直方图默认分桶数。 |
histogram_mcv_size | 100 | 直方图默认 most common value 的数量。 |
histogram_sample_ratio | 0.1 | 直方图默认采样比例。 |
histogram_max_sample_row_count | 10000000 | 直方图最大采样行数。 |
statistics_manager_sleep_time_sec | 60 | 统计信息相关元数据调度间隔周期。单位:秒。系统根据这个间隔周期,来执行如下操作:创建统计信息表;删除已经被删除的表的统计信息;删除过期的统计信息历史记录。 |
statistic_update_interval_sec | 24 60 60 | 统计信息内存 Cache 失效时间。单位:秒。 |
statistic_analyze_status_keep_second | 259200 | 统计信息采集任务的记录保留时间,默认为 3 天。单位:秒。 |
statistic_collect_concurrency | 3 | 手动采集任务的最大并发数,默认为 3,即最多可以有 3 个手动采集任务同时运行。超出的任务处于 PENDING 状态,等待调度。 |
enable_local_replica_selection | FALSE | 是否选择本地副本进行查询。本地副本可以减少数据传输的网络时延。 如果设置为 true,优化器优先选择与当前 FE 相同 IP 的 BE 节点上的 tablet 副本。设置为 false 表示选择可选择本地或非本地副本进行查询。默认为 false。 |
max_distribution_pruner_recursion_depth | 100 | 分区裁剪允许的最大递归深度。增加递归深度可以裁剪更多元素但同时增加 CPU 资源消耗。 |
enable_udf | FALSE | 是否开启 UDF。 |
导入和导出
配置项 | 默认值 | 描述 |
---|---|---|
load_straggler_wait_second | 300 | 控制 BE 副本最大容忍的导入落后时长,超过这个时长就进行克隆,单位为秒。 |
desired_max_waiting_jobs | 1024 | 最多等待的任务数,适用于所有的任务,建表、导入、schema change。 如果 FE 中处于 PENDING 状态的作业数目达到该值,FE 会拒绝新的导入请求。该参数配置仅对异步执行的导入有效。从 2.5 版本开始,该参数默认值从 100 变为 1024。 |
max_load_timeout_second | 259200 | 导入作业的最大超时时间,适用于所有导入,单位为秒。 |
min_load_timeout_second | 1 | 导入作业的最小超时时间,适用于所有导入,单位为秒。 |
max_running_txn_num_per_db | 100 | StarRocks 集群每个数据库中正在运行的导入作业的最大个数,默认值为 100。 当数据库中正在运行的导入作业超过最大个数限制时,后续的导入不会执行。如果是同步的导入作业,作业会被拒绝;如果是异步的导入作业,作业会在队列中等待。不建议调大该值,会增加系统负载。 |
load_parallel_instance_num | 1 | 单个 BE 上每个作业允许的最大并发实例数。 |
disable_load_job | FALSE | 是否禁用任何导入任务,集群出问题时的止损措施。 |
history_job_keep_max_second | 604800 | 历史任务最大的保留时长,例如 schema change 任务,单位为秒。 |
label_keep_max_num | 1000 | 一定时间内所保留导入任务的最大数量。超过之后历史导入作业的信息会被删除。 |
label_keep_max_second | 259200 | 已经完成、且处于 FINISHED 或 CANCELLED 状态的导入作业记录在 StarRocks 系统 label 的保留时长,默认值为 3 天。 该参数配置适用于所有模式的导入作业。单位为秒。设定过大将会消耗大量内存。 |
max_routine_load_job_num | 100 | 最大的 Routine Load 作业数。 |
max_routine_load_task_concurrent_num | 5 | 每个 Routine Load 作业最大并发执行的 task 数。 |
max_routine_load_task_num_per_be | 5 | 每个 BE 最大并发执行的 Routine Load task 数,需要小于等于 BE 的配置项 routine_load_thread_pool_size 。 |
max_routine_load_batch_size | 4294967296 | 每个 Routine Load task 导入的最大数据量,单位为 Byte。 |
routine_load_task_consume_second | 15 | 每个 Routine Load task 消费数据的最大时间,单位为秒。 |
routine_load_task_timeout_second | 60 | 每个 Routine Load task 超时时间,单位为秒。 |
max_tolerable_backend_down_num | 0 | 允许的最大故障 BE 数。如果故障的 BE 节点数超过该阈值,则不能自动恢复 Routine Load 作业。 |
period_of_auto_resume_min | 5 | 自动恢复 Routine Load 的时间间隔,单位为分钟。 |
spark_load_default_timeout_second | 86400 | Spark 导入的超时时间,单位为秒。 |
spark_home_default_dir | StarRocksFE.STARROCKS_HOME_DIR + "/lib/spark2x" | Spark 客户端根目录。 |
stream_load_default_timeout_second | 600 | Stream Load 的默认超时时间,单位为秒。 |
max_stream_load_timeout_second | 259200 | Stream Load 的最大超时时间,单位为秒。 |
insert_load_default_timeout_second | 3600 | Insert Into 语句的超时时间,单位为秒。 |
broker_load_default_timeout_second | 14400 | Broker Load 的超时时间,单位为秒。 |
min_bytes_per_broker_scanner | 67108864 | 单个 Broker Load 任务最大并发实例数,单位为 Byte。 |
max_broker_concurrency | 100 | 单个 Broker Load 任务最大并发实例数。 |
export_max_bytes_per_be_per_task | 268435456 | 单个导出任务在单个 BE 上导出的最大数据量,单位为 Byte。 |
export_running_job_num_limit | 5 | 导出作业最大的运行数目。 |
export_task_default_timeout_second | 7200 | 导出作业的超时时长,单位为秒。 |
empty_load_as_error | TRUE | 导入数据为空时,是否返回报错提示 all partitions have no load data 。取值: - TRUE:当导入数据为空时,则显示导入失败,并返回报错提示 all partitions have no load data 。 - FALSE:当导入数据为空时,则显示导入成功,并返回 OK ,不返回报错提示。 |
存储
配置项 | 默认值 | 描述 |
---|---|---|
enable_strict_storage_medium_check | FALSE | 建表时,是否严格校验存储介质类型。 为 true 时表示在建表时,会严格校验 BE 上的存储介质。比如建表时指定 storage_medium = HDD ,而 BE 上只配置了 SSD,那么建表失败。 为 FALSE 时则忽略介质匹配,建表成功。 |
enable_auto_tablet_distribution | false | 是否开启自动设置分桶功能。设置为 true 表示开启,您在建表或新增分区时无需指定分桶数目,StarRocks 自动决定分桶数量。自动设置分桶数目的策略,请参见确定分桶数量)。设置为 false 表示关闭,您在建表时需要手动指定分桶数量。 新增分区时,如果您不指定分桶数量,则新分区的分桶数量继承建表时候的分桶数量。当然您也可以手动指定新增分区的分桶数量。自 2.5.6 版本起,StarRocks 支持设置该参数。 |
capacity_used_percent_high_water | 0.75 | BE 上磁盘使用容量的度量值,超过 0.75 之后,尽量不再往这个 tablet 上发送建表、克隆的任务,直到恢复正常。 |
storage_high_watermark_usage_percent | 85 | BE 存储目录下空间使用率的最大值。如果超限,则不能继续往该路径写数据。 |
storage_min_left_capacity_bytes | 2 1024 1024 * 1024 | BE 存储目录下剩余空间的最小值,单位为 Byte。如果超限,则不能继续往该路径写数据。 |
catalog_trash_expire_second | 86400 | 删除表/数据库之后,元数据在回收站中保留的时长,超过这个时长,数据就不可以在恢复,单位为秒。 |
alter_table_timeout_second | 86400 | Schema change 超时时间,单位为秒。 |
recover_with_empty_tablet | FALSE | 在 tablet 副本丢失/损坏时,是否使用空的 tablet 代替。 这样可以保证在有 tablet 副本丢失/损坏时,query 依然能被执行(但是由于缺失了数据,结果可能是错误的)。默认为 false,不进行替代,查询会失败。 |
tablet_create_timeout_second | 1 | 创建 tablet 的超时时长,单位为秒。 |
tablet_delete_timeout_second | 2 | 删除 tablet 的超时时长,单位为秒。 |
check_consistency_default_timeout_second | 600 | 副本一致性检测的超时时间,单位为秒。 |
tablet_sched_slot_num_per_path | 8 | 一个 BE 存储目录能够同时执行 tablet 相关任务的数目。参数别名 schedule_slot_num_per_path 。从 2.5 版本开始,该参数默认值从 2.4 版本的 4 变为 8 。 |
tablet_sched_max_scheduling_tablets | 2000 | 可同时调度的 tablet 的数量。如果正在调度的 tablet 数量超过该值,跳过 tablet 均衡和修复检查。 |
tablet_sched_disable_balance | FALSE | 是否禁用 Tablet 均衡调度。参数别名 disable_balance 。 |
tablet_sched_disable_colocate_balance | FALSE | 是否禁用 Colocate Table 的副本均衡。参数别名 disable_colocate_balance 。 |
tablet_sched_max_balancing_tablets | 100 | 正在均衡的 tablet 数量的最大值。如果正在均衡的 tablet 数量超过该值,跳过 tablet 重新均衡。参数别名 max_balancing_tablets 。 |
tablet_sched_balance_load_disk_safe_threshold | 0.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_threshold | 0.1 | 用于判断 BE 负载是否均衡。只有 tablet_sched_balancer_strategy 设置为 be_load_score 时,该参数才生效。 负载比平均负载低 10% 的 BE 处于低负载状态,比平均负载高 10% 的 BE 处于高负载状态。参数别名 balance_load_score_threshold 。 |
tablet_sched_repair_delay_factor_second | 60 | FE 进行副本修复的间隔,单位为秒。参数别名 tablet_repair_delay_factor_second 。 |
tablet_sched_min_clone_task_timeout_sec | 3 * 60 | 克隆 Tablet 的最小超时时间,单位为秒。 |
tablet_sched_max_clone_task_timeout_sec | 2 60 60 | 克隆 Tablet 的最大超时时间,单位为秒。参数别名 max_clone_task_timeout_sec 。 |
其他动态参数
配置项 | 默认值 | 描述 |
---|---|---|
plugin_enable | TRUE | 是否开启了插件功能。只能在 Leader FE 安装/卸载插件。 |
max_small_file_number | 100 | 允许存储小文件数目的最大值。 |
max_small_file_size_bytes | 1024 * 1024 | 存储文件的大小上限,单位为 Byte。 |
agent_task_resend_wait_time_ms | 5000 | Agent task 重新发送前的等待时间。当代理任务的创建时间已设置,并且距离现在超过该值,才能重新发送代理任务,单位为 ms。 该参数防止过于频繁的代理任务发送。 |
backup_job_default_timeout_ms | 86400*1000 | Backup 作业的超时时间,单位为 ms。 |
enable_experimental_mv | TRUE | 是否开启异步物化视图功能。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_port | 389 | LDAP 服务器的端口。 |
authentication_ldap_simple_user_search_attr | uid | LDAP 对象中标识用户的属性名称。 |
配置 FE 静态参数
以下 FE 配置项为静态参数,不支持在线修改,您需要在 fe.conf
中修改并重启 FE。
Log
配置项 | 默认值 | 描述 |
---|---|---|
log_roll_size_mb | 1024 | 日志文件的大小。单位:MB。默认值 1024 表示每个日志文件的大小为 1 GB。 |
sys_log_dir | StarRocksFE.STARROCKS_HOME_DIR + "/log" | 系统日志文件的保存目录。 |
sys_log_level | INFO | 系统日志的级别,从低到高依次为 INFO 、WARN 、ERROR 、FATAL 。 |
sys_log_verbose_modules | 空字符串 | 打印系统日志的模块。如果设置参数取值为 org.apache.starrocks.catalog ,则表示只打印 Catalog 模块下的日志。 |
sys_log_roll_interval | DAY | 系统日志滚动的时间间隔。取值范围:DAY 和 HOUR 。 取值为 DAY 时,日志文件名的后缀为 yyyyMMdd 。取值为 HOUR 时,日志文件名的后缀为 yyyyMMddHH 。 |
sys_log_delete_age | 7d | 系统日志文件的保留时长。默认值 7d 表示系统日志文件可以保留 7 天,保留时长超过 7 天的系统日志文件会被删除。 |
sys_log_roll_num | 10 | 每个 sys_log_roll_interval 时间段内,允许保留的系统日志文件的最大数目。 |
audit_log_dir | StarRocksFE.STARROCKS_HOME_DIR + "/log" | 审计日志文件的保存目录。 |
audit_log_roll_num | 90 | 每个 audit_log_roll_interval 时间段内,允许保留的审计日志文件的最大数目。 |
audit_log_modules | slow_query, query | 打印审计日志的模块。默认打印 slow_query 和 query 模块的日志。可以指定多个模块,模块名称之间用英文逗号加一个空格分隔。 |
audit_log_roll_interval | DAY | 审计日志滚动的时间间隔。取值范围:DAY 和 HOUR 。 取值为 DAY 时,日志文件名的后缀为 yyyyMMdd 。取值为 HOUR 时,日志文件名的后缀为 yyyyMMddHH 。 |
audit_log_delete_age | 30d | 审计日志文件的保留时长。默认值 30d 表示审计日志文件可以保留 30 天,保留时长超过 30 天的审计日志文件会被删除。 |
dump_log_dir | StarRocksFE.STARROCKS_HOME_DIR + "/log" | Dump 日志文件的保存目录。 |
dump_log_modules | query | 打印 Dump 日志的模块。默认打印 query 模块的日志。可以指定多个模块,模块名称之间用英文逗号加一个空格分隔。 |
dump_log_roll_interval | DAY | Dump 日志滚动的时间间隔。取值范围:DAY 和 HOUR 。 取值为 DAY 时,日志文件名的后缀为 yyyyMMdd 。取值为 HOUR 时,日志文件名的后缀为 yyyyMMddHH 。 |
dump_log_roll_num | 10 | 每个 dump_log_roll_interval 时间内,允许保留的 Dump 日志文件的最大数目。 |
dump_log_delete_age | 7d | Dump 日志文件的保留时长。默认值 7d 表示 Dump 日志文件可以保留 7 天,保留时长超过 7 天的 Dump 日志文件会被删除。 |
Server
配置项 | 默认值 | 描述 |
---|---|---|
frontend_address | 0.0.0.0 | FE 节点的 IP 地址。 |
priority_networks | 空字符串 | 为那些有多个 IP 地址的服务器声明一个选择策略。 请注意,最多应该有一个 IP 地址与此列表匹配。这是一个以分号分隔格式的列表,用 CIDR 表示法,例如 10.10.10.0/24 。 如果没有匹配这条规则的ip,会随机选择一个。 |
http_port | 8030 | FE 节点上 HTTP 服务器的端口。 |
http_backlog_num | 1024 | HTTP 服务器支持的 Backlog 队列长度。 |
cluster_name | StarRocks Cluster | FE 所在 StarRocks 集群的名称,显示为网页标题。 |
rpc_port | 9020 | FE 节点上 Thrift 服务器的端口。 |
thrift_backlog_num | 1024 | Thrift 服务器支持的 Backlog 队列长度。 |
thrift_server_max_worker_threads | 4096 | Thrift 服务器支持的最大工作线程数。 |
thrift_client_timeout_ms | 5000 | Thrift 客户端链接的空闲超时时间,即链接超过该时间无新请求后则将链接断开。单位:ms。 |
thrift_server_queue_size | 4096 | Thrift 服务器 pending 队列长度。如果当前处理线程数量超过了配置项 thrift_server_max_worker_threads 的值,则将超出的线程加入 pending 队列。 |
brpc_idle_wait_max_time | 10000 | BRPC 的空闲等待时间。单位:ms。 |
query_port | 9030 | FE 节点上 MySQL 服务器的端口。 |
mysql_service_nio_enabled | TRUE | 是否开启 MySQL 服务器的异步 I/O 选项。 |
mysql_service_io_threads_num | 4 | MySQL 服务器中用于处理 I/O 事件的最大线程数。 |
mysql_nio_backlog_num | 1024 | MySQL 服务器支持的 Backlog 队列长度。 |
max_mysql_service_task_threads_num | 4096 | MySQL 服务器中用于处理任务的最大线程数。 |
max_connection_scheduler_threads_num | 4096 | 连接调度器支持的最大线程数。 |
qe_max_connection | 1024 | FE 支持的最大连接数,包括所有用户发起的连接。 |
check_java_version | TRUE | 检查已编译的 Java 版本与运行的 Java 版本是否兼容。 如果不兼容,则上报 Java 版本不匹配的异常信息,并终止启动。 |
元数据与集群管理
配置项 | 默认值 | 描述 |
---|---|---|
meta_dir | StarRocksFE.STARROCKS_HOME_DIR + "/meta" | 元数据的保存目录。 |
heartbeat_mgr_threads_num | 8 | Heartbeat Manager 中用于发送心跳任务的最大线程数。 |
heartbeat_mgr_blocking_queue_size | 1024 | Heartbeat Manager 中存储心跳任务的阻塞队列大小。 |
metadata_failure_recovery | FALSE | 是否强制重置 FE 的元数据。请谨慎使用该配置项。 |
edit_log_port | 9010 | FE 所在 StarRocks 集群中各 Leader FE、Follower FE、Observer FE 之间通信用的端口。 |
edit_log_type | BDB | 编辑日志的类型。取值只能为 BDB 。 |
bdbje_heartbeat_timeout_second | 30 | FE 所在 StarRocks 集群中 Leader FE 和 Follower FE 之间的 BDB JE 心跳超时时间。单位:秒。 |
bdbje_lock_timeout_second | 1 | BDB JE 操作的锁超时时间。单位:秒。 |
max_bdbje_clock_delta_ms | 5000 | FE 所在 StarRocks 集群中 Leader FE 与非 Leader FE 之间能够容忍的最大时钟偏移。单位:ms。 |
txn_rollback_limit | 100 | 允许回滚的最大事务数。 |
bdbje_replica_ack_timeout_second | 10 | FE 所在 StarRocks 集群中,元数据从 Leader FE 写入到多个 Follower FE 时,Leader FE 等待足够多的 Follower FE 发送 ACK 消息的超时时间。单位:秒。当写入的元数据较多时,可能返回 ACK 的时间较长,进而导致等待超时。如果超时,会导致写元数据失败,FE 进程退出,此时可以适当地调大该参数取值。 |
master_sync_policy | SYNC | FE 所在 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_policy | SYNC | FE 所在 StarRocks 集群中,Follower FE 上的日志刷盘方式。取值范围:SYNC :事务提交时同步写日志并刷盘。NO_SYNC :事务提交时不同步写日志。WRITE_NO_SYNC :事务提交时同步写日志,但是不刷盘。 |
replica_ack_policy | SIMPLE_MAJORITY | 判定日志是否有效的策略,默认是多数 Follower FE 返回确认消息,就认为生效。 |
cluster_id | -1 | FE 所在 StarRocks 集群的 ID。具有相同集群 ID 的 FE 或 BE 属于同一个 StarRocks 集群。取值范围:正整数。默认值 -1 表示在 Leader FE 首次启动时随机生成一个。 |
Query engine
配置项 | 默认值 | 描述 |
---|---|---|
publish_version_interval_ms | 10 | 两个版本发布操作之间的时间间隔。单位:ms。 |
statistic_cache_columns | 100000 | 缓存统计信息表的最大行数。 |
导入和导出
配置项 | 默认值 | 描述 |
---|---|---|
async_load_task_pool_size | 2 | 导入任务线程池的大小。本参数仅适用于 Broker Load。取值必须小于 max_running_txn_num_per_db 。从 2.5 版本开始,该参数默认值从 10 变为 2。 |
load_checker_interval_second | 5 | 导入作业的轮询间隔。单位:秒。 |
transaction_clean_interval_second | 30 | 已结束事务的清理间隔。单位:秒。建议清理间隔尽量短,从而确保已完成的事务能够及时清理掉。 |
label_clean_interval_second | 14400 | 作业标签的清理间隔。单位:秒。建议清理间隔尽量短,从而确保历史作业的标签能够及时清理掉。 |
spark_dpp_version | 1.0.0 | Spark DPP 特性的版本。 |
spark_resource_path | 空字符串 | Spark 依赖包的根目录。 |
spark_launcher_log_dir | sys_log_dir + "/spark_launcher_log" | Spark 日志的保存目录。 |
yarn_client_path | StarRocksFE.STARROCKS_HOME_DIR + "/lib/yarn-client/hadoop/bin/yarn" | Yarn 客户端的根目录。 |
yarn_config_dir | StarRocksFE.STARROCKS_HOME_DIR + "/lib/yarn-config" | Yarn 配置文件的保存目录。 |
export_checker_interval_second | 5 | 导出作业调度器的调度间隔。 |
export_task_pool_size | 5 | 导出任务线程池的大小。 |
broker_client_timeout_ms | 10000 | Broker RPC 的默认超时时间,单位:毫秒,默认值 10s。 |
存储
配置项 | 默认值 | 描述 |
---|---|---|
tablet_sched_balancer_strategy | disk_and_tablet | Tablet 均衡策略。参数别名为 tablet_balancer_strategy 。取值范围:disk_and_tablet 和 be_load_score 。 |
tablet_sched_storage_cooldown_second | -1 | 从 Table 创建时间点开始计算,自动降冷的时延。降冷是指从 SSD 介质迁移到 HDD 介质。 参数别名为 storage_cooldown_second 。单位:秒。默认值 -1 表示不进行自动降冷。如需启用自动降冷功能,请显式设置参数取值大于 0。 |
tablet_stat_update_interval_second | 300 | FE 向每个 BE 请求收集 Tablet 统计信息的时间间隔。单位:秒。 |
其他静态参数
配置项 | 默认值 | 描述 |
---|---|---|
plugin_dir | STARROCKS_HOME_DIR/plugins | 插件的安装目录。 |
small_file_dir | StarRocksFE.STARROCKS_HOME_DIR + "/small_files" | 小文件的根目录。 |
max_agent_task_threads_num | 4096 | 代理任务线程池中用于处理代理任务的最大线程数。 |
auth_token | 空字符串 | 用于内部身份验证的集群令牌。为空则在 Leader FE 第一次启动时随机生成一个。 |
tmp_dir | StarRocksFE.STARROCKS_HOME_DIR + "/temp_dir" | 临时文件的保存目录,例如备份和恢复过程中产生的临时文件。 这些过程完成以后,所产生的临时文件会被清除掉。 |
locale | zh_CN.UTF-8 | FE 所使用的字符集。 |
hive_meta_load_concurrency | 4 | Hive 元数据支持的最大并发线程数。 |
hive_meta_cache_refresh_interval_s | 7200 | 刷新 Hive 外表元数据缓存的时间间隔。单位:秒。 |
hive_meta_cache_ttl_s | 86400 | Hive 外表元数据缓存的失效时间。单位:秒。 |
hive_meta_store_timeout_s | 10 | 连接 Hive Metastore 的超时时间。单位:秒。 |
es_state_sync_interval_second | 10 | FE 获取 Elasticsearch Index 和同步 StarRocks 外部表元数据的时间间隔。单位:秒。 |
enable_auth_check | TRUE | 是否开启鉴权检查功能。取值范围:TRUE 和 FALSE 。TRUE 表示开该功能。FALSE 表示关闭该功能。 |
enable_metric_calculator | TRUE | 是否开启定期收集指标 (Metrics) 的功能。取值范围:TRUE 和 FALSE 。TRUE 表示开该功能。FALSE 表示关闭该功能。 |
BE 配置项
部分 BE 节点配置项为动态参数,您可以通过命令在线修改。其他配置项为静态参数,需要通过修改 be.conf 文件后重启 BE 服务使相关修改生效。