zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    sqlserver2008导出表结构和数据
    使用adb命令对手机进行截屏保存到电脑
    android中控制多点同时触发时间
    使用Androi自带模拟器7.0版本无法安装apk解决
    Android library使用butterknife配置
    使用RadioGroup和fragment搭建项目框架填坑
    【转】BaseAdapter&DataSetObserver通知机制
    【转】读BaseAdapter的一点感悟
    使用Rxjava和Retrofit报错--01
    使用LeakCanary检测内存泄漏
  • 原文地址:https://www.cnblogs.com/zhangshiwen/p/12945170.html
Copyright © 2011-2022 走看看