clickhouse 生产集群部署之坑坑洼洼

之前看过ck中文社区,看到了很多莫名其妙的Exception 但并没有解答。自己测试集群小量数据抽取也没有遇到这些问题。

果不其然,生产集群部署都跳了一遍 

新增相关配置:网上找的,与我原本的配置的一些不同点

 <receive_timeout>800</receive_timeout>  
 <send_timeout>800</send_timeout>
 <keep_alive_timeout>300</keep_alive_timeout>
 <default_session_timeout>300</default_session_timeout>

我也没有添加的配置:
   <merge_tree>
   <parts_to_delay_insert>300</parts_to_delay_insert>
   <parts_to_throw_insert>600</parts_to_throw_insert>
   <max_delay_to_insert>2</max_delay_to_insert>
   </merge_tree>

报错大致信息:

1.Too many parts (606). Merges are processing significantly slower than inserts

2. ERROR server.TransportRequestHandler: Error while invoking RpcHandler#receive() for one-way message.

3.read time out 

4.ERROR cluster.YarnScheduler: Lost executor 174 on hadoop1: Container marked as failed: container_xx on host: hadoop1. 
Exit status: 143. Diagnostics: Container killed on request. 

5.DB::Exception: Possible deadlock avoided. Client should retry. (version 19.15.3.6 (official build)) (from [::1]:38736) (in query: SELECT * FROM dwd_ms_complex_detail_di_cluster LIMIT 1), Stack trace:

问题描述:

1.merge速度跟不上插入速度,也就是insert,可能原因: 数据是否可能跨多个分区, 如果这样的话每次写入有多个partition, merge压力很大

2.同1一起处理,可适当减少并发,同时修改numpartition

3.超时问题,可适当增加 超时时间 并添加 socketTimeout=600000  具体数 自己测 

4.yarn资源问题  单个excutor 内存不足 处理不过来,适当减少批次量  (此处是waterdrop 设置的 默认 20000  因为ck大批量小批次特性 并结合yarn资源 我设置了500000)

5.可能是truncate table导致数据删除不完全,解决方法:去存储位置,删数据吧

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值