【clickhouse踩坑记录】Cannot read all data. Bytes read:0. Bytes expected:4.:while receiving handshake from

博客讲述了作者在遇到ClickHouse集群宕机,重启时遭遇Zookeeper连接失败的问题。经过错误码搜索和分析,发现是Zookeeper服务的问题。解决办法是重启Zookeeper集群中的故障节点,然后重启ClickHouse服务。此过程强调了日志分析的重要性以及快速定位问题的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

今天clickhouse集群又双叒叕宕机了,重启一直报错如下错误。clickhouse服务没能成功启起来。

报错内容:

error:Coordination::Exception: All connection tries failed while connecting to Zookeeper. Addresses: x.x.x.x:2181,x.x.x.x:2181,x.x.x.x:2181
Poco::Exception. Code:1000, e.code() = 111, e.displayText() = Connection refused
Code: 33,e.displayText() = DB::Exception: Cannot read all data. Bytes read:0. Bytes expected:4.:while receiving handshake from zookeeper

分析过程

  1. 通过Error Code搜了一下,github上面显示CANNOT_READ_ALL_DATA,确实有点懵逼,没反应过来。
  2. 尝试在百度上搜,也没有什么有用的答案。
  3. 去github搜issues,终于找到了道友。具体见:github issues最后给出的回复:This is misbehaviour of ZooKeeper or a network error.
  4. 自己去看了一下我们的zookeeper集群【架构是三台节点,clickhouse与zookeeper的服务分别在A、B、C机器上】。现象是:A节点的clickhouse挂了,B、C节点的zookeeper挂了。所以把B、C节点的zookeeper重新启了,再启A节点的clickhouse。便没问题了。
  5. 其实,现在重新看日志,第一行已经写的很清楚了,zookeeper有问题。如果一开始注意到这个点,可能就不用花那么多时间去各种搜索了。【不过还是因为clickhouse的error日志太多,没能力快速捕捉到关键点0.0】
java.sql.SQLException: Can not read response from server. Expected to read 788 bytes 的错误通常是由于与MySQL服务器之间的连接问题导致的。这个错误可能有几个原因,我将为您解释其中一些常见的原因和解决方法。 首先,这个错误可能是由于网络连接问题引起的。请确保您的网络连接是稳定的,并且没有任何防火墙或网络配置问题。您可以尝试重新启动您的网络设备,并确保您的网络连接正常。 另一个可能的原因是MySQL服务器配置的问题。这个错误信息中提到了一个可能的原因是“Host '223.72.41.7' is not allowed to connect to this MySQL server”。这意味着您的客户端IP地址被MySQL服务器拒绝了连接。您可以检查MySQL服务器的配置文件,确保您的客户端IP地址被允许连接。您可以编辑MySQL配置文件中的"bind-address"参数,并将其设置为允许连接的IP地址。 此外,还可能是由于MySQL服务器过载或负载过高导致的。您可以尝试增加MySQL服务器的资源,如内存和CPU,以提高其性能。您还可以优化您的查询和数据库架构,以减少对服务器的负载。 最后,这个错误也可能是由于您的代码中存在错误或逻辑问题导致的。请仔细检查您的代码,确保您使用了正确的连接参数,并且没有任何语法错误或逻辑错误。 总结起来,java.sql.SQLException: Can not read response from server. Expected to read 788 bytes 的错误通常是由于与MySQL服务器之间的连接问题、MySQL服务器配置问题、服务器过载或负载过高或代码中存在错误或逻辑问题导致的。您可以通过检查网络连接、MySQL服务器配置、增加服务器资源或优化代码来解决这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Java Can not read response from server.Expected to read bytes,read bytes before connection问题解决](https://blog.csdn.net/qq_38974638/article/details/120349611)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [java.sql.SQLException: null, message from server: “Host ‘%’ is not allowed to connect to](https://download.csdn.net/download/weixin_38720653/13687787)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [mysql 报错:Can not read response from server. Expected to read 4 bytes, read 0 bytes be](https://blog.csdn.net/q1035331653/article/details/116936877)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值