有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
除控制台外,您也可以通过客户端进行参数配置,本文档将介绍相关配置方法。

FE 参数配置

FE 的配置文件 fe.conf 通常存放在 FE 部署路径的 conf/ 目录下。
另一个配置文件 fe_custom.conf用于记录用户在运行时动态配置并持久化的配置项。
FE 进程启动后,会先读取 fe.conf 中的配置项,之后再读取 fe_custom.conf 中的配置项。fe_custom.conf 中的配置项会覆盖 fe.conf 中相同的配置项。
fe_custom.conf 文件的位置可以在 fe.conf 通过 custom_config_dir 配置项配置。

查看配置项

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 前端页面 http://fe_host:fe_http_port/variable。在 Configure Info 中查看当前生效的 FE 配置项。

设置配置项

FE 的配置项有两种方式进行配置:
1. 静态配置 在 conf/fe.conf 文件中添加和设置配置项。fe.conf 中的配置项会在 FE 进程启动时被读取。没有在 fe.conf 中的配置项将使用默认值。
2. 通过 MySQL 协议动态配置 FE 启动后,可以通过以下命令动态设置配置项。该命令需要管理员权限。
ADMIN SET FRONTEND CONFIG ("fe_config_name" = "fe_config_value");
不是所有配置项都支持动态配置。可以通过 ADMIN SHOW FRONTEND CONFIG; 命令结果中的 IsMutable 列查看是否支持动态配置。通过该方式修改的配置项将在 FE 进程重启后失效。 更多该命令的帮助,可以通过 HELP ADMIN SET CONFIG; 命令查看。
3. 通过 HTTP 协议动态配置 具体请参阅 Set Config Action。该方式也可以持久化修改后的配置项。配置项将持久化在 fe_custom.conf 文件中,在 FE 重启后仍会生效。

应用举例

1. 修改 async_pending_load_task_pool_size 通过 ADMIN SHOW FRONTEND CONFIG; 可以查看到该配置项不能动态配置(IsMutable 为 false)。则需要在 fe.conf 中添加:async_pending_load_task_pool_size=20,之后重启 FE 进程以生效该配置。
2. 修改 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 后,永久生效该配置项。
3. 修改 max_distribution_pruner_recursion_depth 通过 ADMIN SHOW FRONTEND CONFIG; 可以查看到该配置项可以动态配置(IsMutable 为 true)。并且不是 Master FE 独有配置。 同样,我们可以通过动态修改配置的命令修改该配置。因为该配置不是 Master FE 独有配置,所以需要单独连接到不同的 FE,进行动态修改配置的操作,这样才能保证所有 FE 都使用了修改后的配置值。

配置项列表

适用于 FE 的配置项列表详见 FE 配置项

BE 参数配置

BE 的配置文件 be.conf 通常存放在 BE 部署路径的 conf/ 目录下。
另一个配置文件 be_custom.conf 用于记录用户在运行时动态配置并持久化的配置项。
BE 进程启动后,会先读取 be.conf 中的配置项,之后再读取 be_custom.conf 中的配置项。be_custom.conf 中的配置项会覆盖 be.conf 中相同的配置项。

查看配置项

用户可以通过访问 BE 的 Web 页面查看当前配置项:http://be_host:be_webserver_port/varz

设置配置项

BE 的配置项有两种方式进行配置:
1. 静态配置 在 conf/be.conf 文件中添加和设置配置项。be.conf 中的配置项会在 BE 进行启动时被读取。没有在 be.conf 中的配置项将使用默认值。
2. 动态配置 BE 启动后,可以通过以下命令动态设置配置项。
curl -X POST http://{be_ip}:{be_http_port}/api/update_config?{key}={value}'
可以通过以下命令持久化修改后的配置。修改后的配置项存储在 be_custom.conf 文件中。
curl -X POST http://{be_ip}:{be_http_port}/api/update_config?{key}={value}&persist=true

应用举例

1. 静态方式修改 max_base_compaction_concurrency 通过在 be.conf 文件中添加:max_base_compaction_concurrency=5,之后重启 BE 进程以生效该配置。
2. 动态方式修改 streaming_load_max_mb BE 启动后,通过下面命令动态设置配置项 streaming_load_max_mb
curl -X POST http://{be_ip}:{be_http_port}/api/update_config?streaming_load_max_mb=1024
返回值如下,则说明设置成功。
{
"status": "OK",
"msg": ""
}
BE 重启后该配置将失效。如果想持久化修改结果,使用如下命令:
curl -X POST http://{be_ip}:{be_http_port}/api/update_config?streaming_load_max_mb=1024\\&persist=true

配置项列表

适用于 BE 的配置项列表详见 BE 配置项

用户配置项

User 级别的配置生效范围为单个用户。每个用户都可以设置自己的 User property。相互不影响。

查看配置项

FE 启动后,在 MySQL 客户端,通过下面命令查看 User 的配置项: SHOW PROPERTY [FOR user] [LIKE key pattern];具体语法可通过命令:help show property; 查询。

设置配置项

FE 启动后,在MySQL 客户端,通过下面命令修改 User 的配置项: SET PROPERTY [FOR 'user'] 'key' = 'value' [, 'key' = 'value'];具体语法可通过命令:help set property; 查询。
User 级别的配置项只会对指定用户生效,并不会影响其他用户的配置。

应用举例

1. 修改用户 Billie 的 max_user_connections。 通过 SHOW PROPERTY FOR 'Billie' LIKE '%max_user_connections%'; 查看 Billie 用户当前的最大链接数为 100。 通过 SET PROPERTY FOR 'Billie' 'max_user_connections' = '200'; 修改 Billie 用户的当前最大连接数到 200。

配置项列表

用户配置项列表详见 用户配置项