先说zookeeper的日志是二进制格式,需要通过zookeeper的jar包里的工具才能查看。
zookeeper的pom:
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.8</version>
</dependency>
查看日志可以通过下面的代码:
LogFormatter.main(new String[] {"/Users/xxx/Downloads/inte-zookeeper.log/version-2/log.c0012b220"});
在看到日志之后,发现出现问题的日志前后有大量的 “error -110” 错误!
顺着这条线,找到了zookeeper的mail list的相关的描述:
http://comments.gmane.org/gmane.comp.java.hadoop.zookeeper.user/8166
整理一下这个mail list结论:
- 这个错误一般在crc校验出错才会出
- 错误的原因是写入(setData)的数据过大导致
refer:
- 出现问题的OP就是setData之后第一次出现 “error -110”的OP
- 貌似调整 jute.maxbuffer 的配置会有帮助,我没验证过