首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ZooKeeper 集群配备

2013-07-08 
ZooKeeper集群配置?ZooKeeper 是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一

ZooKeeper 集群配置

?

ZooKeeper 是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运 行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定 性和可用性,从而实现分布式应用的可靠性。

有关ZooKeeper的介绍,网上很多,也可以参考文章后面,我整理的一些相关链接。

下面,我们简单说明一下ZooKeeper的配置。

?

ZooKeeper Standalone模式

?

从 Apache网站上(zookeeper.apache.org)下载ZooKeeper软件包,我选择了3.3.4版本的(zookeeper- 3.3.4.tar.gz),在一台Linux机器上安装非常容易,只需要解压缩后,简单配置一下即可以启动ZooKeeper服务器进程。

将zookeeper-3.3.4/conf目录下面的 zoo_sample.cfg修改为zoo.cfg,配置文件内容如下所示:

?
  1. tickTime=2000??
  2. dataDir=/home/hadoop/storage/zookeeper??
  3. clientPort=2181??
  4. initLimit=5??
  5. syncLimit=2??

?

  1. tickTime?——?the?basic?time?unit?in?milliseconds?used?by?ZooKeeper.?It?is?used?to?do?heartbeats?and?the?minimum?session?timeout?will?be?twice?the?tickTime.??
  2. dataDir?——?the?location?to?store?the?in-memory?database?snapshots?and,?unless?specified?otherwise,?the?transaction?log?of?updates?to?the?database.??
  3. clientPort?——?the?port?to?listen?for?client?connections??

?

  1. cd?zookeeper-3.3.4/??
  2. bin/zkServer.sh?start??

?

  1. bin/zkCli.sh?-server?dynamic:2181??

?

  1. bin/zkCli.sh??

?

  1. 192.168.0.179???slave-01??
  2. 192.168.0.178???slave-02??
  3. 192.168.0.177???slave-03??

ZooKeeper 采用一种称为Leader election的选举算法。在整个集群运行过程中,只有一个Leader,其他的都是Follower,如果ZooKeeper集群在运行过程中 Leader出了问题,系统会采用该算法重新选出一个Leader。因此,各个结点之间要能够保证互相连接,必须配置上述映射。

ZooKeeper集群启动的时候,会首先选出一个Leader,在Leader election过程中,某一个满足选举算的结点就能成为Leader。整个集群的架构可以参考http://zookeeper.apache.org/doc/trunk/zookeeperOver.html#sc_designGoals。

第二步:修改ZooKeeper配置文件

在其中一台机器(slave-01)上,解压缩zookeeper-3.3.4.tar.gz,修改配置文件conf/zoo.cfg,内容如下所示

  1. tickTime=2000??
  2. dataDir=/home/hadoop/storage/zookeeper??
  3. clientPort=2181??
  4. initLimit=5??
  5. syncLimit=2??
  6. server.1=slave-01:2888:3888??
  7. server.2=slave-02:2888:3888??
  8. server.3=slave-03:2888:3888??

  1. cd?/home/hadoop/installation/??
  2. scp?-r?zookeeper-3.3.4/?hadoop@slave-02:/home/hadoop/installation/??
  3. scp?-r?zookeeper-3.3.4/?hadoop@slave-03:/home/hadoop/installation/??

  1. hadoop@slave-01:~/installation/zookeeper-3.3.4$?echo?"1"?>?/home/hadoop/storage/zookeeper/myid??
  2. hadoop@slave-02:~/installation/zookeeper-3.3.4$?echo?"2"?>?/home/hadoop/storage/zookeeper/myid??
  3. hadoop@slave-03:~/installation/zookeeper-3.3.4$?echo?"3"?>?/home/hadoop/storage/zookeeper/myid??

  1. hadoop@slave-01:~/installation/zookeeper-3.3.4$?bin/zkServer.sh?start??
  2. hadoop@slave-02:~/installation/zookeeper-3.3.4$?bin/zkServer.sh?start??
  3. hadoop@slave-03:~/installation/zookeeper-3.3.4$?bin/zkServer.sh?start??

  1. hadoop@slave-01:~/installation/zookeeper-3.3.4$?tail?-500f?zookeeper.out???
  2. 2012-01-08?06:51:19,117?-?INFO??[main:QuorumPeerConfig@90]?-?Reading?configuration?from:?/home/hadoop/installation/zookeeper-3.3.4/bin/../conf/zoo.cfg??
  3. 2012-01-08?06:51:19,133?-?INFO??[main:QuorumPeerConfig@310]?-?Defaulting?to?majority?quorums??
  4. 2012-01-08?06:51:19,167?-?INFO??[main:QuorumPeerMain@119]?-?Starting?quorum?peer??
  5. 2012-01-08?06:51:19,227?-?INFO??[main:NIOServerCnxn$Factory@143]?-?binding?to?port?0.0.0.0/0.0.0.0:2181??
  6. 2012-01-08?06:51:19,277?-?INFO??[main:QuorumPeer@819]?-?tickTime?set?to?2000??
  7. 2012-01-08?06:51:19,278?-?INFO??[main:QuorumPeer@830]?-?minSessionTimeout?set?to?-1??
  8. 2012-01-08?06:51:19,279?-?INFO??[main:QuorumPeer@841]?-?maxSessionTimeout?set?to?-1??
  9. 2012-01-08?06:51:19,281?-?INFO??[main:QuorumPeer@856]?-?initLimit?set?to?5??
  10. 2012-01-08?06:51:19,347?-?INFO??[Thread-1:QuorumCnxManager$Listener@473]?-?My?election?bind?port:?3888??
  11. 2012-01-08?06:51:19,393?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumPeer@621]?-?LOOKING??
  12. 2012-01-08?06:51:19,396?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:FastLeaderElection@663]?-?New?election.?My?id?=??1,?Proposed?zxid?=?0??
  13. 2012-01-08?06:51:19,400?-?INFO??[WorkerReceiver?Thread:FastLeaderElection@496]?-?Notification:?1?(n.leader),?0?(n.zxid),?1?(n.round),?LOOKING?(n.state),?1?(n.sid),?LOOKING?(my?state)??
  14. 2012-01-08?06:51:19,416?-?WARN??[WorkerSender?Thread:QuorumCnxManager@384]?-?Cannot?open?channel?to?2?at?election?address?slave-02/192.168.0.178:3888??
  15. java.net.ConnectException:?Connection?refused??
  16. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  17. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  18. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  19. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  20. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:340)??
  21. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:360)??
  22. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:333)??
  23. ????????at?java.lang.Thread.run(Thread.java:662)??
  24. 2012-01-08?06:51:19,420?-?WARN??[WorkerSender?Thread:QuorumCnxManager@384]?-?Cannot?open?channel?to?3?at?election?address?slave-03/192.168.0.177:3888??
  25. java.net.ConnectException:?Connection?refused??
  26. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  27. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  28. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  29. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  30. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:340)??
  31. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:360)??
  32. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:333)??
  33. ????????at?java.lang.Thread.run(Thread.java:662)??
  34. 2012-01-08?06:51:19,612?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?2?at?election?address?slave-02/192.168.0.178:3888??
  35. java.net.ConnectException:?Connection?refused??
  36. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  37. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  38. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  39. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  40. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  41. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  42. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  43. 2012-01-08?06:51:19,615?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?3?at?election?address?slave-03/192.168.0.177:3888??
  44. java.net.ConnectException:?Connection?refused??
  45. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  46. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  47. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  48. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  49. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  50. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  51. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  52. 2012-01-08?06:51:19,616?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:FastLeaderElection@697]?-?Notification?time?out:?400??
  53. 2012-01-08?06:51:20,019?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?2?at?election?address?slave-02/192.168.0.178:3888??
  54. java.net.ConnectException:?Connection?refused??
  55. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  56. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  57. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  58. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  59. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  60. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  61. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  62. 2012-01-08?06:51:20,021?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?3?at?election?address?slave-03/192.168.0.177:3888??
  63. java.net.ConnectException:?Connection?refused??
  64. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  65. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  66. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  67. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  68. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  69. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  70. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  71. 2012-01-08?06:51:20,022?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:FastLeaderElection@697]?-?Notification?time?out:?800??
  72. 2012-01-08?06:51:20,825?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?2?at?election?address?slave-02/192.168.0.178:3888??
  73. java.net.ConnectException:?Connection?refused??
  74. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  75. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  76. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  77. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  78. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  79. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  80. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  81. 2012-01-08?06:51:20,827?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?3?at?election?address?slave-03/192.168.0.177:3888??
  82. java.net.ConnectException:?Connection?refused??
  83. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  84. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  85. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  86. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  87. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  88. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  89. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  90. 2012-01-08?06:51:20,828?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:FastLeaderElection@697]?-?Notification?time?out:?1600??
  91. 2012-01-08?06:51:22,435?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?2?at?election?address?slave-02/192.168.0.178:3888??
  92. java.net.ConnectException:?Connection?refused??
  93. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  94. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  95. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  96. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  97. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  98. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  99. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  100. 2012-01-08?06:51:22,439?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?3?at?election?address?slave-03/192.168.0.177:3888??
  101. java.net.ConnectException:?Connection?refused??
  102. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  103. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  104. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  105. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  106. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  107. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  108. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  109. 2012-01-08?06:51:22,441?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:FastLeaderElection@697]?-?Notification?time?out:?3200??
  110. 2012-01-08?06:51:22,945?-?INFO??[WorkerReceiver?Thread:FastLeaderElection@496]?-?Notification:?2?(n.leader),?0?(n.zxid),?1?(n.round),?LOOKING?(n.state),?2?(n.sid),?LOOKING?(my?state)??
  111. 2012-01-08?06:51:22,946?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:FastLeaderElection@721]?-?Updating?proposal??
  112. 2012-01-08?06:51:22,949?-?WARN??[WorkerSender?Thread:QuorumCnxManager@384]?-?Cannot?open?channel?to?3?at?election?address?slave-03/192.168.0.177:3888??
  113. java.net.ConnectException:?Connection?refused??
  114. ????????at?sun.nio.ch.SocketChannelImpl.checkConnect(Native?Method)??
  115. ????????at?sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)??
  116. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100)??
  117. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  118. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:340)??
  119. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:360)??
  120. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:333)??
  121. ????????at?java.lang.Thread.run(Thread.java:662)??
  122. 2012-01-08?06:51:22,951?-?INFO??[WorkerReceiver?Thread:FastLeaderElection@496]?-?Notification:?2?(n.leader),?0?(n.zxid),?1?(n.round),?LOOKING?(n.state),?1?(n.sid),?LOOKING?(my?state)??
  123. 2012-01-08?06:51:23,156?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumPeer@643]?-?FOLLOWING??
  124. 2012-01-08?06:51:23,170?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Learner@80]?-?TCP?NoDelay?set?to:?true??
  125. 2012-01-08?06:51:23,206?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:zookeeper.version=3.3.3-1203054,?built?on?11/17/2011?05:47?GMT??
  126. 2012-01-08?06:51:23,207?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:host.name=slave-01??
  127. 2012-01-08?06:51:23,207?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:java.version=1.6.0_30??
  128. 2012-01-08?06:51:23,208?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:java.vendor=Sun?Microsystems?Inc.??
  129. 2012-01-08?06:51:23,208?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:java.home=/home/hadoop/installation/jdk1.6.0_30/jre??
  130. 2012-01-08?06:51:23,209?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:java.class.path=/home/hadoop/installation/zookeeper-3.3.4/bin/../build/classes:/home/hadoop/installation/zookeeper-3.3.4/bin/../build/lib/*.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../zookeeper-3.3.4.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/log4j-1.2.15.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/jline-0.9.94.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/commons-lang-2.4.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/commons-collections-3.2.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/commons-cli-1.1.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/apache-rat-tasks-0.6.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/apache-rat-core-0.6.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../src/java/lib/*.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../conf:/home/hadoop/installation/jdk1.6.0_30/lib/*.jar:/home/hadoop/installation/jdk1.6.0_30/jre/lib/*.jar??
  131. 2012-01-08?06:51:23,210?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:java.library.path=/home/hadoop/installation/jdk1.6.0_30/jre/lib/i386/client:/home/hadoop/installation/jdk1.6.0_30/jre/lib/i386:/home/hadoop/installation/jdk1.6.0_30/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib??
  132. 2012-01-08?06:51:23,210?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:java.io.tmpdir=/tmp??
  133. 2012-01-08?06:51:23,212?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:java.compiler=<NA>??
  134. 2012-01-08?06:51:23,212?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:os.name=Linux??
  135. 2012-01-08?06:51:23,212?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:os.arch=i386??
  136. 2012-01-08?06:51:23,213?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:os.version=3.0.0-14-generic??
  137. 2012-01-08?06:51:23,213?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:user.name=hadoop??
  138. 2012-01-08?06:51:23,214?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:user.home=/home/hadoop??
  139. 2012-01-08?06:51:23,214?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Environment@97]?-?Server?environment:user.dir=/home/hadoop/installation/zookeeper-3.3.4??
  140. 2012-01-08?06:51:23,223?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:ZooKeeperServer@151]?-?Created?server?with?tickTime?2000?minSessionTimeout?4000?maxSessionTimeout?40000?datadir?/home/hadoop/storage/zookeeper/version-2?snapdir?/home/hadoop/storage/zookeeper/version-2??
  141. 2012-01-08?06:51:23,339?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Learner@294]?-?Getting?a?snapshot?from?leader??
  142. 2012-01-08?06:51:23,358?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:Learner@325]?-?Setting?leader?epoch?1??
  143. 2012-01-08?06:51:23,358?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:FileTxnSnapLog@254]?-?Snapshotting:?0??
  144. 2012-01-08?06:51:25,511?-?INFO??[WorkerReceiver?Thread:FastLeaderElection@496]?-?Notification:?3?(n.leader),?0?(n.zxid),?1?(n.round),?LOOKING?(n.state),?3?(n.sid),?FOLLOWING?(my?state)??
  145. 2012-01-08?06:51:42,584?-?INFO??[WorkerReceiver?Thread:FastLeaderElection@496]?-?Notification:?3?(n.leader),?0?(n.zxid),?2?(n.round),?LOOKING?(n.state),?3?(n.sid),?FOLLOWING?(my?state)??

  1. hadoop@slave-01:~/installation/zookeeper-3.3.4$?bin/zkServer.sh?status??
  2. JMX?enabled?by?default??
  3. Using?config:?/home/hadoop/installation/zookeeper-3.3.4/bin/../conf/zoo.cfg??
  4. Mode:?follower??
  5. ??
  6. hadoop@slave-02:~/installation/zookeeper-3.3.4$??bin/zkServer.sh?status??
  7. JMX?enabled?by?default??
  8. Using?config:?/home/hadoop/installation/zookeeper-3.3.4/bin/../conf/zoo.cfg??
  9. Mode:?leader??
  10. ??
  11. hadoop@slave-03:~/installation/zookeeper-3.3.4$??bin/zkServer.sh?status??
  12. JMX?enabled?by?default??
  13. Using?config:?/home/hadoop/installation/zookeeper-3.3.4/bin/../conf/zoo.cfg??
  14. Mode:?follower??

  1. hadoop@slave-03:~/installation/zookeeper-3.3.4$?bin/zkCli.sh?-server?slave-01:2181??
  2. Connecting?to?slave-01:2181??
  3. 2012-01-08?07:14:21,068?-?INFO??[main:Environment@97]?-?Client?environment:zookeeper.version=3.3.3-1203054,?built?on?11/17/2011?05:47?GMT??
  4. 2012-01-08?07:14:21,080?-?INFO??[main:Environment@97]?-?Client?environment:host.name=slave-03??
  5. 2012-01-08?07:14:21,085?-?INFO??[main:Environment@97]?-?Client?environment:java.version=1.6.0_30??
  6. 2012-01-08?07:14:21,089?-?INFO??[main:Environment@97]?-?Client?environment:java.vendor=Sun?Microsystems?Inc.??
  7. 2012-01-08?07:14:21,095?-?INFO??[main:Environment@97]?-?Client?environment:java.home=/home/hadoop/installation/jdk1.6.0_30/jre??
  8. 2012-01-08?07:14:21,104?-?INFO??[main:Environment@97]?-?Client?environment:java.class.path=/home/hadoop/installation/zookeeper-3.3.4/bin/../build/classes:/home/hadoop/installation/zookeeper-3.3.4/bin/../build/lib/*.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../zookeeper-3.3.4.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/log4j-1.2.15.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/jline-0.9.94.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/commons-lang-2.4.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/commons-collections-3.2.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/commons-cli-1.1.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/apache-rat-tasks-0.6.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../lib/apache-rat-core-0.6.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../src/java/lib/*.jar:/home/hadoop/installation/zookeeper-3.3.4/bin/../conf:/home/hadoop/installation/jdk1.6.0_30/lib/*.jar:/home/hadoop/installation/jdk1.6.0_30/jre/lib/*.jar??
  9. 2012-01-08?07:14:21,111?-?INFO??[main:Environment@97]?-?Client?environment:java.library.path=/home/hadoop/installation/jdk1.6.0_30/jre/lib/i386/client:/home/hadoop/installation/jdk1.6.0_30/jre/lib/i386:/home/hadoop/installation/jdk1.6.0_30/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib??
  10. 2012-01-08?07:14:21,116?-?INFO??[main:Environment@97]?-?Client?environment:java.io.tmpdir=/tmp??
  11. 2012-01-08?07:14:21,124?-?INFO??[main:Environment@97]?-?Client?environment:java.compiler=<NA>??
  12. 2012-01-08?07:14:21,169?-?INFO??[main:Environment@97]?-?Client?environment:os.name=Linux??
  13. 2012-01-08?07:14:21,175?-?INFO??[main:Environment@97]?-?Client?environment:os.arch=i386??
  14. 2012-01-08?07:14:21,177?-?INFO??[main:Environment@97]?-?Client?environment:os.version=3.0.0-14-generic??
  15. 2012-01-08?07:14:21,185?-?INFO??[main:Environment@97]?-?Client?environment:user.name=hadoop??
  16. 2012-01-08?07:14:21,188?-?INFO??[main:Environment@97]?-?Client?environment:user.home=/home/hadoop??
  17. 2012-01-08?07:14:21,190?-?INFO??[main:Environment@97]?-?Client?environment:user.dir=/home/hadoop/installation/zookeeper-3.3.4??
  18. 2012-01-08?07:14:21,197?-?INFO??[main:ZooKeeper@379]?-?Initiating?client?connection,?connectString=slave-01:2181?sessionTimeout=30000?watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@bf32c??
  19. 2012-01-08?07:14:21,305?-?INFO??[main-SendThread():ClientCnxn$SendThread@1061]?-?Opening?socket?connection?to?server?slave-01/192.168.0.179:2181??
  20. Welcome?to?ZooKeeper!??
  21. 2012-01-08?07:14:21,376?-?INFO??[main-SendThread(slave-01:2181):ClientCnxn$SendThread@950]?-?Socket?connection?established?to?slave-01/192.168.0.179:2181,?initiating?session??
  22. JLine?support?is?enabled??
  23. [zk:?slave-01:2181(CONNECTING)?0]?2012-01-08?07:14:21,872?-?INFO??[main-SendThread(slave-01:2181):ClientCnxn$SendThread@739]?-?Session?establishment?complete?on?server?slave-01/192.168.0.179:2181,?sessionid?=?0x134bdcd6b730000,?negotiated?timeout?=?30000??
  24. ??
  25. WATCHER::??
  26. ??
  27. WatchedEvent?state:SyncConnected?type:None?path:null??
  28. ??
  29. [zk:?slave-01:2181(CONNECTED)?0]?ls?/??
  30. [zookeeper]??

  1. java.net.SocketTimeoutException??
  2. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:109)??
  3. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  4. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  5. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  6. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  7. 2012-01-08?06:37:46,026?-?INFO??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:FastLeaderElection@697]?-?Notification?time?out:?6400??
  8. 2012-01-08?06:37:57,431?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?2?at?election?address?slave-02/202.106.199.35:3888??
  9. java.net.SocketTimeoutException??
  10. ????????at?sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:109)??
  11. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)??
  12. ????????at?org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)??
  13. ????????at?org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)??
  14. ????????at?org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)??
  15. 2012-01-08?06:38:02,442?-?WARN??[QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@384]?-?Cannot?open?channel?to?3?at?election?address?slave-03/202.106.199.35:3888??

很显然,slave-01在启动时连接集群中其他结点(slave-02、slave-03)时,主机名映射的IP与我们实际配置的不一致,所以集群中各个结点之间无法建立链路,整个ZooKeeper集群启动是失败的。

上 面错误日志中slave-02/202.106.199.35:3888实际应该是slave-02/202.192.168.0.178:3888就对 了,但是在进行域名解析的时候映射有问题,修改每个结点的/etc/hosts文件,将ZooKeeper集群中所有结点主机名到IP地址的映射配置上。

?

热点排行