栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

spark写ck报错: Too many parts (300). Merges are processing significantly slower than inserts

spark写ck报错: Too many parts (300). Merges are processing significantly slower than inserts

之前一个spark写ck的任务,某天开始频繁报错如下:

Too many parts (300). Merges are processing significantly slower than inserts (version 21.6.5.37 (official build))。

之前在网上查了查该问题,了解到:当数据插入到clickhouse时,会生成parts文件,clickhouse后台会有合并小文件的操作。当插入速度过快,生成parts小文件过快时,clickhouse无法以适当的速度合并这些parts时会报上面这个错误。

解决方法有两种方式:

一、降低insert clickhouse速度

我选择spark savetock 的并行度,在数据插入ck之前,进行repartition操作。我spark任务总共时4cores,我repartition=4设置数据插入ck的并行度为4。降低并行度后,任务重新跑了一次,没有出现上面那个报错。(但是在之后几天还是会出现这个报错,应该是我设置的并行度还是较高,但是我不想再降低并行度了,于是采用方法二继续解决这个问题)

二、修改clickhouse config.xml 中有关merge_tree配置

拉大插入间隔,每次插入的数据量大一些,merge_tree添加如下配置:


600
600
2
5

我这ck集群有三台,分别添加上面配置后,我重启了clickhouse集群:
systemctl restart clickhouse-server.service

目前再跑任务没有出现上面的报错了。

参考博客文章:
1.解决clickhouse报在后台将较小的parts合并为较大parts异常的问题_云深海阔专栏-CSDN博客

2.clickhouse的too many part问题_kangseung的博客-CSDN博客

3.【ClickHouse系列】写入频繁时为什么易产生Too many part问题_一只努力的微服务-CSDN博客_clickhouse频繁写入

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/706465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号