【问题标题】:zookeeper is not running after restartzookeeper 重启后没有运行
【发布时间】:2018-03-10 17:53:02
【问题描述】:

我有 3 个 zookeeper 节点。那些节点工作正常,但是当我使用 ./zkServer.sh restart 重新启动这些节点时,zookeeper 没有再次起床。

当我检查 zookeeper 状态时,它返回:

./zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

我的 zoo.cnf 是:

dataDir=/var/lib/zookeeperdata/3
clientPort=2181
initLimit=50
tickTime=2000
syncLimit=10
maxClientCnxns=100000
server.1=IP1 value:2888:3888
server.2=IP2 value:2889:3889
server.3=127.0.0.1:2890:3890

这是不稳定的行为,因为如果我为 3 个 zookeeper 节点重新启动,可能会在两个小时后或明天之后,它们将看到彼此并且工作正常,因为这发生在我之前。

动物园管理员日志:

2014-05-14 15:22:34,236 [myid:3] - INFO  [main:NIOServerCnxnFactory@94] - binding to port 0.0.0.0/0.0.0.0:2181
2014-05-14 15:22:34,282 [myid:3] - INFO  [main:QuorumPeer@913] - tickTime set to 2000
2014-05-14 15:22:34,283 [myid:3] - INFO  [main:QuorumPeer@933] - minSessionTimeout set to -1
2014-05-14 15:22:34,283 [myid:3] - INFO  [main:QuorumPeer@944] - maxSessionTimeout set to -1
2014-05-14 15:22:34,283 [myid:3] - INFO  [main:QuorumPeer@959] - initLimit set to 50
2014-05-14 15:22:34,356 [myid:3] - INFO  [main:FileSnap@83] - Reading snapshot /var/lib/zookeeperdata/3/version-2/snapshot.f100000001
2014-05-14 15:22:43,387 [myid:3] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /127.0.0.1:50923
2014-05-14 15:22:43,396 [myid:3] - INFO  [Thread-1:QuorumCnxManager$Listener@486] - My election bind port: 0.0.0.0/0.0.0.0:3890
2014-05-14 15:22:43,404 [myid:3] - WARN  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@354] - Exception causing close of session 0x0 due to java.io.IOExce
ption: ZooKeeperServer not running
2014-05-14 15:22:43,404 [myid:3] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1001] - Closed socket connection for client /127.0.0.1:50923 (no se
ssion established for client)
2014-05-14 15:22:43,427 [myid:3] - INFO  [QuorumPeer[myid=3]/0:0:0:0:0:0:0:0:2181:QuorumPeer@670] - LOOKING
2014-05-14 15:22:43,429 [myid:3] - INFO  [QuorumPeer[myid=3]/0:0:0:0:0:0:0:0:2181:FastLeaderElection@740] - New election. My id =  3, proposed zxid=0xf100000001
2014-05-14 15:22:48,438 [myid:3] - WARN  [WorkerSender[myid=3]:QuorumCnxManager@368] - Cannot open channel to 1 at election address /54.76.10.81:3888
java.net.SocketTimeoutException: connect timed out
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
  at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
  at java.net.Socket.connect(Socket.java:529)
  at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:354)
  at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:327)
  at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:393)
  at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:365)
  at java.lang.Thread.run(Thread.java:662)
2014-05-14 15:22:53,440 [myid:3] - WARN  [QuorumPeer[myid=3]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@368] - Cannot open channel to 1 at election address /54.76.10.81:3
888
java.net.SocketTimeoutException: connect timed out
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
  at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
  at java.net.Socket.connect(Socket.java:529)
  at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:354)
  at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:388)

我对此进行了很多搜索,但没有找到任何对我有用的东西,所以我希望有人可以帮助我。

谢谢

【问题讨论】:

    标签: solr apache-zookeeper


    【解决方案1】:

    我也见过这样的行为。运行良好的 ZK 配置有时会无法重新启动。发生这种情况时,我尝试了以下方法:

    1) 查看所有服务器的日志...通常会列出一个错误 2)停止所有服务器并重新启动 3)停止所有服务器并一次重新启动服务器 4) 验证每台服务器的myid文件是否存在,权限是否正确,值是否正确。

    我使用 clusterssh 打开每个服务器的窗口,以便可以同时重新启动......然后我跟踪了所有服务器日志。请记住,ZK 集群在重启期间做了很多工作:启动每个服务器并选举领导者。我曾经有过集群似乎失败的时候,然后再过几分钟它似乎就解决了。

    有一个很棒的工具叫做 zktop,我用它来监控 ZK。

    【讨论】:

      【解决方案2】:

      我通过将IP 127.0.0.1更改为亚马逊节点的内部IP来修复它,对三个节点进行此更改并重新启动后,此问题不再发生。我希望这个答案可以帮助有人问同样的问题。

      【讨论】:

        【解决方案3】:

        确保您在每个节点配置中都放置了正确的数据目录。 并在数据目录中放置一个 myid 文件,并在 myid 文件。 我认为它解决了这个问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-07-06
          • 2018-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-01-10
          • 2018-04-12
          • 2013-06-03
          • 2021-04-22
          相关资源
          最近更新 更多