zoukankan      html  css  js  c++  java
  • zookeeper启动时报Cannot open channel to X at election address Error contacting service. It is probably not running.

    配置storm集群的时候出现如下异常:

    2016-06-26 14:10:17,484 [myid:1] - WARN  [SyncThread:1:FileTxnLog@334] - fsync-ing the write ahead log in SyncThread:1 took 1340ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide
    2016-06-26 14:10:17,847 [myid:1] - WARN  [RecvWorker:2:QuorumCnxManager$RecvWorker@810] - Connection broken for id 2, my id = 1, error = 
    java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager$RecvWorker.run(QuorumCnxManager.java:795)
    2016-06-26 14:10:17,848 [myid:1] - WARN  [RecvWorker:2:QuorumCnxManager$RecvWorker@813] - Interrupting SendWorker
    2016-06-26 14:10:17,849 [myid:1] - WARN  [SendWorker:2:QuorumCnxManager$SendWorker@727] - Interrupted while waiting for message on queue
    java.lang.InterruptedException
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2088)
        at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:418)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.pollSendQueue(QuorumCnxManager.java:879)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.access$500(QuorumCnxManager.java:65)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager$SendWorker.run(QuorumCnxManager.java:715)
    2016-06-26 14:10:17,851 [myid:1] - WARN  [SendWorker:2:QuorumCnxManager$SendWorker@736] - Send worker leaving thread
    2016-06-26 14:10:17,852 [myid:1] - WARN  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Follower@89] - Exception when following the leader
    java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at org.apache.jute.BinaryInputArchive.readInt(BinaryInputArchive.java:63)
        at org.apache.zookeeper.server.quorum.QuorumPacket.deserialize(QuorumPacket.java:83)
        at org.apache.jute.BinaryInputArchive.readRecord(BinaryInputArchive.java:99)
        at org.apache.zookeeper.server.quorum.Learner.readPacket(Learner.java:153)
        at org.apache.zookeeper.server.quorum.Follower.followLeader(Follower.java:85)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:846)
    2016-06-26 14:10:17,854 [myid:1] - INFO  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Follower@166] - shutdown called
    java.lang.Exception: shutdown Follower


    解决方案:

    on Zookeeper1

    #Before modification 
    [zookeeper1]$ tail -3   $ZOOKEEPER_HOME/conf/zoo.cfg 
    server.1=zookeeper1:2888:3888
    server.2=zookeeper2:2888:3888
    server.3=zookeeper3:2888:3888
    
    #After  modification 
    [zookeeper1]$ tail -3  $ZOOKEEPER_HOME/conf/zoo.cfg 
    server.1=0.0.0.0:2888:3888
    server.2=zookeeper2:2888:3888
    server.3=zookeeper3:2888:3888
    
    #Start the Zookeper (Stop and STart or restart )
    [zookeeper1]$ $ZOOKEEPER_HOME/bin/zkServer.sh  start
    ZooKeeper JMX enabled by default
    ZooKeeper remote JMX Port set to 52128
    ZooKeeper remote JMX authenticate set to false
    ZooKeeper remote JMX ssl set to false
    ZooKeeper remote JMX log4j set to true
    Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
    Mode: follower
    
    [zookeeper1]$ $ZOOKEEPER_HOME/bin/zkServer.sh  status
    ZooKeeper JMX enabled by default
    ZooKeeper remote JMX Port set to 52128
    ZooKeeper remote JMX authenticate set to false
    ZooKeeper remote JMX ssl set to false
    ZooKeeper remote JMX log4j set to true
    Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
    Mode: follower
    

    ---------------------------------------------------------

    on Zookeeper2

    #Before modification 
    [zookeeper2]$ tail -3   $ZOOKEEPER_HOME/conf/zoo.cfg 
    server.1=zookeeper1:2888:3888
    server.2=zookeeper2:2888:3888
    server.3=zookeeper3:2888:3888
    
    #After  modification 
    [zookeeper2]$ tail -3  $ZOOKEEPER_HOME/conf/zoo.cfg 
    server.1=zookeeper1:2888:3888
    server.2=0.0.0.0:2888:3888
    server.3=zookeeper3:2888:3888
    
    #Start the Zookeper (Stop and STart or restart )
    [zookeeper2]$ $ZOOKEEPER_HOME/bin/zkServer.sh  start
    ZooKeeper JMX enabled by default
    ZooKeeper remote JMX Port set to 52128
    ZooKeeper remote JMX authenticate set to false
    ZooKeeper remote JMX ssl set to false
    ZooKeeper remote JMX log4j set to true
    Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
    Mode: follower
    
    [zookeeper2]$ $ZOOKEEPER_HOME/bin/zkServer.sh  status
    ZooKeeper JMX enabled by default
    ZooKeeper remote JMX Port set to 52128
    ZooKeeper remote JMX authenticate set to false
    ZooKeeper remote JMX ssl set to false
    ZooKeeper remote JMX log4j set to true
    Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
    Mode: follower
    

    ---------------------------------------------------------

    on Zookeeper3

    #Before modification 
    [zookeeper3]$ tail -3   $ZOOKEEPER_HOME/conf/zoo.cfg 
    server.1=zookeeper1:2888:3888
    server.2=zookeeper2:2888:3888
    server.3=zookeeper3:2888:3888
    
    #After  modification 
    [zookeeper3]$ tail -3  $ZOOKEEPER_HOME/conf/zoo.cfg 
    server.1=zookeeper1:2888:3888
    server.2=zookeeper2:2888:3888
    server.3=0.0.0.0:2888:3888
    
    #Start the Zookeper (Stop and STart or restart )
    [zookeeper3]$ $ZOOKEEPER_HOME/bin/zkServer.sh  start
    ZooKeeper JMX enabled by default
    ZooKeeper remote JMX Port set to 52128
    ZooKeeper remote JMX authenticate set to false
    ZooKeeper remote JMX ssl set to false
    ZooKeeper remote JMX log4j set to true
    Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
    Mode: follower
    
    [zookeeper3]$ $ZOOKEEPER_HOME/bin/zkServer.sh  status
    ZooKeeper JMX enabled by default
    ZooKeeper remote JMX Port set to 52128
    ZooKeeper remote JMX authenticate set to false
    ZooKeeper remote JMX ssl set to false
    ZooKeeper remote JMX log4j set to true
    Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
    Mode: followe

    启动的时候我遇到的问题:
      先启动子节点,后启动控制节点,这样能够选举出leader,否则一直无法连接,不知道什么原因

    英文地址:http://stackoverflow.com/questions/30940981/zookeeper-error-cannot-open-channel-to-x-at-election-address#
  • 相关阅读:
    android部分控件应用解析
    CodeForces Round #179 (295A)
    面试题27:连续子数组的最大和
    java写文件时,输出不完整的原因以及解决方法
    序列化和反序列化--转
    Java多线程编程那些事:volatile解惑--转
    转变--一个平凡人的2017年总结及2018年展望
    系列文章--批处理学习
    set命令
    bat计算两个时间差
  • 原文地址:https://www.cnblogs.com/hdulzt/p/6648648.html
Copyright © 2011-2022 走看看