除控制台外,您也可以通过客户端进行参数配置,本文档将介绍相关配置方法。
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 都使用了修改后的配置值。
配置项列表
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
配置项列表
用户配置项
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。
配置项列表
本页内容是否解决了您的问题?