Doris FE 配置参数
该文档主要介绍 FE 的相关配置项。
FE 的配置文件 fe.conf
通常存放在 FE 部署路径的 conf/
目录下。而在 0.14 版本中会引入另一个配置文件 fe_custom.conf
。该配置文件用于记录用户在运行时动态配置并持久化的配置项。
FE 进程启动后,会先读取 fe.conf
中的配置项,之后再读取 fe_custom.conf
中的配置项。fe_custom.conf
中的配置项会覆盖 fe.conf
中相同的配置项。
fe_custom.conf
文件的位置可以在 fe.conf
通过 custom_config_dir
配置项配置。
注意事项
1. 出于简化架构的目的,目前通过mysql协议修改Config
的方式修改配置只会修改本地 FE 内存中的数据,而不会把变更同步到所有 FE。
对于只会在 Master FE 生效的 Config 项,修改请求会自动转发到 Master 节点
2. 需要注意forward_to_master
选项会影响admin show frontend config
的展示结果,如果forward_to_master=true
,那么只会展示 Master 的配置(即使您此时连接的是 Follower FE 节点),这可能导致您无法看到对本地 FE 配置的修改;如果期望 show config 返回本地 FE 的配置项,那么执行命令set forward_to_master=false
查看配置项
FE 的配置项有两种方式进行查看:
-
FE 前端页面查看
在浏览器中打开 FE 前端页面
http://fe_host:fe_http_port/Configure
。在Configure Info
中可以看到当前生效的 FE 配置项。 -
通过命令查看
FE 启动后,可以在 MySQL 客户端中,通过以下命令查看 FE 的配置项:
ADMIN SHOW FRONTEND CONFIG;
结果中各列含义如下:
- Key:配置项名称。
- Value:当前配置项的值。
- Type:配置项值类型,如整型、字符串。
- IsMutable:是否可以动态配置。如果为 true,表示该配置项可以在运行时进行动态配置。如果 false,则表示该配置项只能在
fe.conf
中配置并且重启 FE 后生效。 - MasterOnly:是否为 Master FE 节点独有的配置项。如果为 true,则表示该配置项仅在 Master FE 节点有意义,对其他类型的 FE 节点无意义。如果为 false,则表示该配置项在所有 FE 节点中均有意义。
- Comment:配置项的描述。
设置配置项
FE 的配置项有两种方式进行配置:
-
静态配置
在
conf/fe.conf
文件中添加和设置配置项。fe.conf
中的配置项会在 FE 进程启动时被读取。没有在fe.conf
中的配置项将使用默认值。 -
通过 MySQL 协议动态配置
FE 启动后,可以通过以下命令动态设置配置项。该命令需要管理员权限。
ADMIN SET FRONTEND CONFIG ("fe_config_name" = "fe_config_value");
不是所有配置项都支持动态配置。可以通过
ADMIN SHOW FRONTEND CONFIG;
命令结果中的IsMutable
列查看是否支持动态配置。如果是修改
MasterOnly
的配置项,则该命令会直接转发给 Master FE 并且仅修改 Master FE 中对应的配置项。通过该方式修改的配置项将在 FE 进程重启后失效。
更多该命令的帮助,可以通过
HELP ADMIN SET CONFIG;
命令查看。 -
通过 HTTP 协议动态配置
具体请参阅 Set Config Action
该方式也可以持久化修改后的配置项。配置项将持久化在
fe_custom.conf
文件中,在 FE 重启后仍会生效。
应用举例
-
修改
async_pending_load_task_pool_size
通过
ADMIN SHOW FRONTEND CONFIG;
可以查看到该配置项不能动态配置(IsMutable
为 false)。则需要在fe.conf
中添加:async_pending_load_task_pool_size=20
之后重启 FE 进程以生效该配置。
-
修改
dynamic_partition_enable
通过
ADMIN SHOW FRONTEND CONFIG;
可以查看到该配置项可以动态配置(IsMutable
为 true)。并且是 Master FE 独有配置。则首先我们可以连接到任意 FE,执行如下命令修改配置:ADMIN SET FRONTEND CONFIG ("dynamic_partition_enable" = "true");`
之后可以通过如下命令查看修改后的值:
set forward_to_master=true;
ADMIN SHOW FRONTEND CONFIG;通过以上方式修改后,如果 Master FE 重启或进行了 Master 切换,则配置将失效。可以通过在
fe.conf
中直接添加配置项,并重启 FE 后,永久生效该配置项。 -
修改
max_distribution_pruner_recursion_depth
通过
ADMIN SHOW FRONTEND CONFIG;
可以查看到该配置项可以动态配置(IsMutable
为 true)。并且不是 Master FE 独有配置。同样,我们可以通过动态修改配置的命令修改该配置。因为该配置不是 Master FE 独有配置,所以需要单独连接到不同的 FE,进行动态修改配置的操作,这样才能保证所有 FE 都使用了修改后的配置值
配置项列表
注:
以下内容由
docs/generate-config-and-variable-doc.sh
自动生成。如需修改,请修改
fe/fe-common/src/main/java/org/apache/doris/common/Config.java
中的描述信息。
<--DOC_PLACEHOLDER-->