背景

客户mpp如果使用的是ck,抽取任务报错如下图的话,代表ck使用的内存不足。

CK内存不足 - 图1

解决方法

宿主机输入命令 free -h 查看 available 列,观察宿主机剩余可用内存;

在 ClickHouse 安装目录下找到 user.xml 文件;

按需调整设置:

单个查询内存配置:

users.xml文件中(或者在users.d目录中) -> profiles -> default 标签。

<!-- 单次查询最大使用内存,字节 -->
<max_memory_usage>10000000000</max_memory_usage>
<!-- 单个用户可用最大内存,字节 -->
<max_memory_usage_for_user>0</max_memory_usage_for_user>

将max_memory_usage这个配置调大就好了,单机ck的话需要重启下,ck集群会热加载,不用重启。

CK整体内存配置:

config.xml(或在conf.d目录下)

config.xml
<!-- 所有查询可用最大内存 -->
<max_server_memory_usage>0</max_server_memory_usage>
<!--所有查询可用最大内存占宿主机总内存的比例-->
<max_server_memory_usage_to_ram_ratio>0.9</max_server_memory_usage_to_ram_ratio>