ntpdate 同步时间导致 ZOO_EXPIRED_SESSION_STATE

1 0 * * * /usr/sbin/ntpdate clock.isc.org &

每次同步时间 

adjust time server 149.20.64.28 offset 10+ sec

导致 zookeeper server 认为 session 超时, 

zk client 状态变为:ZOO_EXPIRED_SESSION_STATE


解决方案:

1 减少ntpdate同步时间间隔,减少每次offset

2 适当增加client recv_timeout值

    该值在init时传到server 作为session 超时依据,同时 ZooKeeper Server有两个配置项:

minSessionTimeout 单位毫秒。默认2倍tickTime
maxSessionTimeout 单位毫秒。默认20倍tickTime
(tickTime也是一个配置项。是Server内部控制时间逻辑的最小时间单位)

如果客户端发来的sessionTimeout超过min-max这个范围,server会自动截取为min或max

参考

ZOO_EXPIRED_SESSION_STATE 的原因及其处理:

http://wiki.apache.org/hadoop/ZooKeeper/FAQ

 zookeeper server端 源码分析:

http://blog.csdn.net/lovingprince/article/details/6885746

http://rdc.taobao.com/team/jm/archives/947



你可能感兴趣的:(linux,zookeeper,ZooKeeper,Zookeeper)