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 参数
配置 FE 动态参数
您可以使用 ADMIN SET FRONTEND CONFIG 命令配置或修改 FE 动态参数。
ADMIN SET FRONTEND CONFIG ("key" = "value");
备注
动态设置的配置项,在 FE 重启之后会恢复成 fe.conf 文件中的配置或者默认值。如果需要让配置长期生效,建议设置完之后同时修改 fe.conf 文件,防止重启后修改失效。
配置 FE 静态参数
备注
FE 静态参数不支持在线修改,您需要在 fe.conf 中修改并重启 FE 以使修改生效。
当前主题包含以下类型的 FE 配置:
统计报告
enable_collect_warehouse_metrics
- 默认值: true
- 类型: Boolean
- 单位: -
- 是否可变: Yes
- 描述: 当此项设置为
true时,系统将收集并导出每个仓库的指标。启用它会将仓库级别的指标(槽位/使用率/可用性)添加到指标输出中,并增加指标基数和收集开销。禁用它可省略仓库特定指标,并减少 CPU/网络和监控存储成本。 - 引入版本: v3.5.0
enable_http_detail_metrics
- 默认值: false
- 类型: boolean
- 单位: -
- 是否可变: Yes
- 描述: 当为 true 时,HTTP 服务器计算并暴露详细的 HTTP worker 指标(特别是
HTTP_WORKER_PENDING_TASKS_NUMgauge)。启用此功能会导致服务器迭代 Netty worker 执行器并调用每个NioEventLoop上的pendingTasks()以汇总待处理任务计数;禁用时,gauge 返回 0 以避免此成本。这种额外的收集可能会耗费 CPU 和延迟 — 仅在调试或详细调查时启用。 - 引入版本: v3.2.3
proc_profile_collect_time_s
- 默认值: 120
- 类型: Int
- 单位: 秒
- 是否可变: Yes
- 描述: 单次进程 profile 收集的持续时间(秒)。当
proc_profile_cpu_enable或proc_profile_mem_enable设置为true时,AsyncProfiler 启动,收集器线程休眠此持续时间,然后 profiler 停止并写入 profile。较大的值会增加样本覆盖率和文件大小,但会延长 profiler 运行时并延迟后续收集;较小的值会减少开销,但可能会产生不足的样本。确保此值与proc_profile_file_retained_days和proc_profile_file_retained_size_bytes等保留设置对齐。 - 引入版本: v3.2.12
enable_temporary_table_statistic_collect
- 默认值: true
- 类型: Boolean
- 单位: -
- 是否可变: Yes
- 描述: 采集作业是否为临时表收集统计信息。该项作用于根据采集作业定义构建的收集任务,即自动采集作业以及通过 CREATE ANALYZE 创建的作业。设置为
false时,构建这些作业时会跳过临时表,仅对非临时表进行采集。单次执行的ANALYZE TABLE语句不受该项影响,仍会为临时表收集统计信息。当生命周期很短的临时表带来的采集开销超过其统计信息的价值时,可将该项设置为false。 - 引入版本: v3.4.0
存储
allow_implicit_key_column_in_agg_add_column
- 默认值: true
- 类型: Boolean
- 单位: -
- 是否可变: Yes
- 描述: 在聚合表上执行
ALTER TABLE ... ADD COLUMN时,如果新列既未指定聚合函数,也未指定KEY关键字,是否允许将该列创建为 Key 列。此类语句存在歧义,并且创建 Key 列会改变表的聚合键并重写已有数据。设置为true时,该列会被创建为 Key 列,与早期版本的行为一致。设置为false时,该语句会被拒绝,报错信息会同时说明两种写法。该参数可动态修改,但除非使用WITH PERSISTENT设置,否则重启后不会保留。 - 引入版本: v4.0.15
alter_table_timeout_second
- 默认值: 86400
- 类型: Int
- 单位: 秒
- 是否可变: Yes
- 描述: schema 变更操作 (ALTER TABLE) 的超时时长。
- 引入版本: -
capacity_used_percent_high_water
- 默认值: 0.75
- 类型: double
- 单位: 分数 (0.0–1.0)
- 是否可变: Yes
- 描述: 计算后端负载分数时使用的磁盘容量使用百分比(总容量的百分比)的高水位阈值。
BackendLoadStatistic.calcSore使用capacity_used_percent_high_water设置LoadScore.capacityCoefficient:如果后端的使用百分比小于 0.5,则系数等于 0.5;如果使用百分比>capacity_used_percent_high_water,则系数 = 1.0;否则,系数通过 (2 * usedPercent - 0.5) 随使用百分比线性变化。当系数为 1.0 时,负载分数完全由容量比例 决定;较低的值会增加副本计数的权重。调整此值会改变平衡器惩罚磁盘利用率高的后端的积极程度。 - 引入版本: v3.2.0
catalog_trash_expire_second
- 默认值: 86400
- 类型: Long
- 单位: 秒
- 是否可变: Yes
- 描述: 数据库、表或分区删除后,元数据可保留的最长时间。如果此持续时间过期,数据将被删除,并且无法通过 RECOVER 命令恢复。
- 引入版本: -
catalog_recycle_bin_erase_min_latency_ms
- 默认值: 600000
- 类型: Long
- 单位: 毫秒
- 是否可变: Yes
- 描述: 数据库、表或分区被删除后,擦除元数据前的最小延迟时间(毫秒)。用于避免擦除日志先于删除日志写入。
- 引入版本: -