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选项会影响show frontend config的展示结果,如果forward_to_master=true,那么只会展示Master的配置(即使您此时连接的是Follower FE节点),这可能导致您无法看到对本地FE配置的修改;如果期望show config返回本地FE的配置项,那么执行命令set forward_to_master=false

查看配置项

FE 的配置项有两种方式进行查看:

  1. FE 前端页面查看

    在浏览器中打开 FE 前端页面 http://fe_host:fe_http_port/Configure。在 Configure Info 中可以看到当前生效的 FE 配置项。

  2. 通过命令查看

    FE 启动后,可以在 MySQL 客户端中,通过以下命令查看 FE 的配置项:

    SHOW FRONTEND CONFIG;

    结果中各列含义如下:

    • Key:配置项名称。
    • Value:当前配置项的值。
    • Type:配置项值类型,如果整型、字符串。
    • IsMutable:是否可以动态配置。如果为 true,表示该配置项可以在运行时进行动态配置。如果false,则表示该配置项只能在 fe.conf 中配置并且重启 FE 后生效。
    • MasterOnly:是否为 Master FE 节点独有的配置项。如果为 true,则表示该配置项仅在 Master FE 节点有意义,对其他类型的 FE 节点无意义。如果为 false,则表示该配置项在所有 FE 节点中均有意义。
    • Comment:配置项的描述。

设置配置项

FE 的配置项有两种方式进行配置:

  1. 静态配置

    conf/fe.conf 文件中添加和设置配置项。fe.conf 中的配置项会在 FE 进程启动时被读取。没有在 fe.conf 中的配置项将使用默认值。

  2. 通过 MySQL 协议动态配置

    FE 启动后,可以通过以下命令动态设置配置项。该命令需要管理员权限。

    ADMIN SET FRONTEND CONFIG ("fe_config_name" = "fe_config_value");

    不是所有配置项都支持动态配置。可以通过 SHOW FRONTEND CONFIG; 命令结果中的 IsMutable 列查看是否支持动态配置。

    如果是修改 MasterOnly 的配置项,则该命令会直接转发给 Master FE 并且仅修改 Master FE 中对应的配置项。

    通过该方式修改的配置项将在 FE 进程重启后失效。

    更多该命令的帮助,可以通过 HELP ADMIN SET CONFIG; 命令查看。

  3. 通过 HTTP 协议动态配置

    具体请参阅 Set Config Action

    该方式也可以持久化修改后的配置项。配置项将持久化在 fe_custom.conf 文件中,在 FE 重启后仍会生效。

应用举例

  1. 修改 async_pending_load_task_pool_size

    通过 SHOW FRONTEND CONFIG; 可以查看到该配置项不能动态配置(IsMutable 为 false)。则需要在 fe.conf 中添加:

    async_pending_load_task_pool_size=20

    之后重启 FE 进程以生效该配置。

  2. 修改 dynamic_partition_enable

    通过 SHOW FRONTEND CONFIG; 可以查看到该配置项可以动态配置(IsMutable 为 true)。并且是 Master FE 独有配置。则首先我们可以连接到任意 FE,执行如下命令修改配置:

    1. ADMIN SET FRONTEND CONFIG ("dynamic_partition_enable" = "true");`

    之后可以通过如下命令查看修改后的值:

    1. set forward_to_master=true;
    2. SHOW FRONTEND CONFIG;

    通过以上方式修改后,如果 Master FE 重启或进行了 Master 切换,则配置将失效。可以通过在 fe.conf 中直接添加配置项,并重启 FE 后,永久生效该配置项。

  3. 修改 max_distribution_pruner_recursion_depth

    通过 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—>