zookeeper集群搭建Exception when following the leader java.io.EOFException
Posted 得意莫骄傲,失意莫沮丧。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper集群搭建Exception when following the leader java.io.EOFException相关的知识,希望对你有一定的参考价值。
zk配置后集群选举失败,集群中全部无法进行选举,但是应用又起来了。
先讲原因:后经人指点,server的端口配置错误导致。server占用了client的端口号导致的。说明server.1=127.0.0.1:2181:3181中2181是server端口但是我又配置了clientPort=2181.把server端口和client端口混为一谈导致的(汗颜并吐槽:zk既然配置错误了,就不应该让项目启动成功,应该直接停止程序或者直接报错)。
修改zoo.cnf中集群错误配置:
server.1=127.0.0.1:2181:3181
server.2=127.0.0.1:2182:3182
server.3=127.0.0.1:2183:3183
为正确配置:
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3899
server.3=127.0.0.1:2890:3890
附件:
Exception when following the leader
java.io.EOFException
线上异常截图:
用zkServer.sh status的状态命令查看如下:
错误配置文件:
# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=D:/Dev/data/zookeeper/z1 # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 ## Metrics Providers # # https://prometheus.io Metrics Exporter #metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider #metricsProvider.httpPort=7000 #metricsProvider.exportJvmInfo=true server.1=127.0.0.1:2181:3181 server.2=127.0.0.1:2182:3182 server.3=127.0.0.1:2183:3183
正确配置:
# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=D:/Dev/data/zookeeper/z1 # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 ## Metrics Providers # # https://prometheus.io Metrics Exporter #metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider #metricsProvider.httpPort=7000 #metricsProvider.exportJvmInfo=true server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2889:3899 server.3=127.0.0.1:2890:3890
以上是关于zookeeper集群搭建Exception when following the leader java.io.EOFException的主要内容,如果未能解决你的问题,请参考以下文章
Zookeeper -- Zookeeper 集群搭建 集群角色说明