一、解压

tar -zxvf zookeeper-3.3.5.tar.gz

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

  1. tickTime= #该参数用来定义心跳的间隔时间,zookeeper的客户端和服务端之间也有和web开发里类似的session的概念,而zookeeper里最小的session过期时间就是tickTime的两倍。
  2. dataDir=/home/hadoop/storage/zookeeper #为存储在内存中的数据库快照功能
  3. clientPort= #是监听客户端连接的端口号。
  4. initLimit= #是指follower连接并同步到leader的初始化连接,它是通过tickTime的倍数表示,例如我们上面的配置就是10倍的tickTime,当初始化连接时间超过设置的倍数时候则连接失败。
  5. syncLimit= #是指follower和leader之间发送消息时请求和应答的时间长度,如果follower在设置的时间范围内不能和leader通信,那么该follower将会被丢弃,它也是按tickTime的倍数进行设置的。

三、下面启动ZooKeeper服务器进程:

  1. cd zookeeper-3.3./
  2. bin/zkServer.sh start

四、在客户端连接ZooKeeper服务器,执行如下命令:

  1. bin/zkCli.sh -server dynamic:

上面dynamic是我的主机名,如果在本机执行,则执行如下命令即可:

  1. bin/zkCli.sh

五、客户端连接信息如下所示:

  1. hadoop@master:~/installation/zookeeper-3.3.$ bin/zkCli.sh -server dynamic:
  2. Connecting to dynamic:
  3. -- ::, - INFO [main:Environment@] - Client environment:zookeeper.version=3.3.-, built on // : GMT
  4. -- ::, - INFO [main:Environment@] - Client environment:host.name=master
  5. -- ::, - INFO [main:Environment@] - Client environment:java.version=1.6.0_30
  6. -- ::, - INFO [main:Environment@] - Client environment:java.vendor=Sun Microsystems Inc.
  7. -- ::, - INFO [main:Environment@] - Client environment:java.home=/home/hadoop/installation/jdk1..0_30/jre
  8. -- ::, - INFO [main:Environment@] - Client environment:java.class.path=/home/hadoop/installation/zookeeper-3.3./bin/../build/classes:/home/hadoop/installation/zookeeper-3.3./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 21:30:06,206 - 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 21:30:06,213 - INFO [main:Environment@97] - Client environment:java.io.tmpdir=/tmp
  11. 2012-01-08 21:30:06,216 - INFO [main:Environment@97] - Client environment:java.compiler=<NA>
  12. 2012-01-08 21:30:06,235 - INFO [main:Environment@97] - Client environment:os.name=Linux
  13. 2012-01-08 21:30:06,244 - INFO [main:Environment@97] - Client environment:os.arch=i386
  14. 2012-01-08 21:30:06,246 - INFO [main:Environment@97] - Client environment:os.version=3.0.0-14-generic
  15. 2012-01-08 21:30:06,251 - INFO [main:Environment@97] - Client environment:user.name=hadoop
  16. 2012-01-08 21:30:06,254 - INFO [main:Environment@97] - Client environment:user.home=/home/hadoop
  17. 2012-01-08 21:30:06,255 - INFO [main:Environment@97] - Client environment:user.dir=/home/hadoop/installation/zookeeper-3.3.4
  18. 2012-01-08 21:30:06,264 - INFO [main:ZooKeeper@379] - Initiating client connection, connectString=dynamic:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@bf32c
  19. 2012-01-08 21:30:06,339 - INFO [main-SendThread():ClientCnxn$SendThread@1061] - Opening socket connection to server dynamic/192.168.0.107:2181
  20. Welcome to ZooKeeper!
  21. 2012-01-08 21:30:06,397 - INFO [main-SendThread(dynamic:2181):ClientCnxn$SendThread@950] - Socket connection established to dynamic/192.168.0.107:2181, initiating session
  22. JLine support is enabled
  23. 2012-01-08 21:30:06,492 - INFO [main-SendThread(dynamic:2181):ClientCnxn$SendThread@739] - Session establishment complete on server dynamic/192.168.0.107:2181, sessionid = 0x134b9b714f9000c, negotiated timeout = 30000
  24.  
  25. WATCHER::
  26.  
  27. WatchedEvent state:SyncConnected type:None path:null
  28. [zk: dynamic:2181(CONNECTED) 0]

六、集群配置

1、hosts文件如下:

  1. 192.168.0.179 slave-
  2. 192.168.0.178 slave-
  3. 192.168.0.177 slave-

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

  1. tickTime=
  2. dataDir=/home/hadoop/storage/zookeeper
  3. clientPort=
  4. initLimit=
  5. syncLimit=
  6. server.=slave-::
  7. server.=slave-::
  8. server.=slave-::

是用于进行leader选举的端口,是zookeeper集群里各个机器之间的通信接口。

3、远程复制分发安装文件

上面已经在一台机器slave-01上配置完成ZooKeeper,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的conf/目录下。

4、设置myid

  1. hadoop@slave-:~/installation/zookeeper-3.3.$ echo "" > /home/hadoop/storage/zookeeper/myid
  2. hadoop@slave-:~/installation/zookeeper-3.3.$ echo "" > /home/hadoop/storage/zookeeper/myid
  3. hadoop@slave-:~/installation/zookeeper-3.3.$ echo "" > /home/hadoop/storage/zookeeper/myid

5、启动ZooKeeper集群

在ZooKeeper集群的每个结点上,执行启动ZooKeeper服务的脚本,如下所示:

  1. hadoop@slave-:~/installation/zookeeper-3.3.$ bin/zkServer.sh start
  2. hadoop@slave-:~/installation/zookeeper-3.3.$ bin/zkServer.sh start
  3. hadoop@slave-:~/installation/zookeeper-3.3.$ bin/zkServer.sh start

以结点slave-01为例,日志如下所示:

  1. hadoop@slave-:~/installation/zookeeper-3.3.$ tail -500f zookeeper.out
  2. -- ::, - INFO [main:QuorumPeerConfig@] - Reading configuration from: /home/hadoop/installation/zookeeper-3.3./bin/../conf/zoo.cfg
  3. -- ::, - INFO [main:QuorumPeerConfig@] - Defaulting to majority quorums
  4. -- ::, - INFO [main:QuorumPeerMain@] - Starting quorum peer
  5. -- ::, - INFO [main:NIOServerCnxn$Factory@] - binding to port 0.0.0.0/0.0.0.0:
  6. -- ::, - INFO [main:QuorumPeer@] - tickTime set to
  7. -- ::, - INFO [main:QuorumPeer@] - minSessionTimeout set to -
  8. -- ::, - INFO [main:QuorumPeer@] - maxSessionTimeout set to -
  9. -- ::, - INFO [main:QuorumPeer@] - initLimit set to
  10. -- ::, - INFO [Thread-:QuorumCnxManager$Listener@] - My election bind port:
  11. -- ::, - INFO [QuorumPeer:/:::::::::QuorumPeer@] - LOOKING
  12. -- ::, - INFO [QuorumPeer:/:::::::::FastLeaderElection@] - New election. My id = , Proposed zxid =
  13. -- ::, - INFO [WorkerReceiver Thread:FastLeaderElection@] - Notification: (n.leader), (n.zxid), (n.round), LOOKING (n.state), (n.sid), LOOKING (my state)
  14. -- ::, - WARN [WorkerSender Thread:QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.178:
  15. java.net.ConnectException: Connection refused
  16. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  17. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  18. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  19. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  20. at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:)
  21. at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:)
  22. at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:)
  23. at java.lang.Thread.run(Thread.java:)
  24. -- ::, - WARN [WorkerSender Thread:QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.177:
  25. java.net.ConnectException: Connection refused
  26. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  27. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  28. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  29. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  30. at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:)
  31. at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:)
  32. at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:)
  33. at java.lang.Thread.run(Thread.java:)
  34. -- ::, - WARN [QuorumPeer:/:::::::::QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.178:
  35. java.net.ConnectException: Connection refused
  36. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  37. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  38. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  39. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  40. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:)
  41. at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:)
  42. at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:)
  43. -- ::, - WARN [QuorumPeer:/:::::::::QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.177:
  44. java.net.ConnectException: Connection refused
  45. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  46. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  47. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  48. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  49. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:)
  50. at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:)
  51. at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:)
  52. -- ::, - INFO [QuorumPeer:/:::::::::FastLeaderElection@] - Notification time out:
  53. -- ::, - WARN [QuorumPeer:/:::::::::QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.178:
  54. java.net.ConnectException: Connection refused
  55. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  56. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  57. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  58. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  59. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:)
  60. at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:)
  61. at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:)
  62. -- ::, - WARN [QuorumPeer:/:::::::::QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.177:
  63. java.net.ConnectException: Connection refused
  64. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  65. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  66. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  67. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  68. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:)
  69. at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:)
  70. at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:)
  71. -- ::, - INFO [QuorumPeer:/:::::::::FastLeaderElection@] - Notification time out:
  72. -- ::, - WARN [QuorumPeer:/:::::::::QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.178:
  73. java.net.ConnectException: Connection refused
  74. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  75. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  76. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  77. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  78. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:)
  79. at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:)
  80. at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:)
  81. -- ::, - WARN [QuorumPeer:/:::::::::QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.177:
  82. java.net.ConnectException: Connection refused
  83. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  84. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  85. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  86. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  87. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:)
  88. at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:)
  89. at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:)
  90. -- ::, - INFO [QuorumPeer:/:::::::::FastLeaderElection@] - Notification time out:
  91. -- ::, - WARN [QuorumPeer:/:::::::::QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.178:
  92. java.net.ConnectException: Connection refused
  93. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  94. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  95. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  96. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  97. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:)
  98. at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:)
  99. at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:)
  100. -- ::, - WARN [QuorumPeer:/:::::::::QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.177:
  101. java.net.ConnectException: Connection refused
  102. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  103. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  104. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  105. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  106. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:)
  107. at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:)
  108. at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:)
  109. -- ::, - INFO [QuorumPeer:/:::::::::FastLeaderElection@] - Notification time out:
  110. -- ::, - INFO [WorkerReceiver Thread:FastLeaderElection@] - Notification: (n.leader), (n.zxid), (n.round), LOOKING (n.state), (n.sid), LOOKING (my state)
  111. -- ::, - INFO [QuorumPeer:/:::::::::FastLeaderElection@] - Updating proposal
  112. -- ::, - WARN [WorkerSender Thread:QuorumCnxManager@] - Cannot open channel to at election address slave-/192.168.0.177:
  113. java.net.ConnectException: Connection refused
  114. at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  115. at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
  116. at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:)
  117. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
  118. at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:)
  119. at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:)
  120. at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:)
  121. at java.lang.Thread.run(Thread.java:)
  122. -- ::, - INFO [WorkerReceiver Thread:FastLeaderElection@] - Notification: (n.leader), (n.zxid), (n.round), LOOKING (n.state), (n.sid), LOOKING (my state)
  123. -- ::, - INFO [QuorumPeer:/:::::::::QuorumPeer@] - FOLLOWING
  124. -- ::, - INFO [QuorumPeer:/:::::::::Learner@] - TCP NoDelay set to: true
  125. -- ::, - INFO [QuorumPeer:/:::::::::Environment@] - Server environment:zookeeper.version=3.3.-, built on // : GMT
  126. -- ::, - INFO [QuorumPeer:/:::::::::Environment@] - Server environment:host.name=slave-
  127. -- ::, - INFO [QuorumPeer:/:::::::::Environment@] - Server environment:java.version=1.6.0_30
  128. -- ::, - INFO [QuorumPeer:/:::::::::Environment@] - Server environment:java.vendor=Sun Microsystems Inc.
  129. -- ::, - INFO [QuorumPeer:/:::::::::Environment@] - Server environment:java.home=/home/hadoop/installation/jdk1..0_30/jre
  130. -- ::, - INFO [QuorumPeer:/:::::::::Environment@] - Server environment:java.class.path=/home/hadoop/installation/zookeeper-3.3./bin/../build/classes:/home/hadoop/installation/zookeeper-3.3./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)

6、安装验证

可以通过ZooKeeper的脚本来查看启动状态,包括集群中各个结点的角色(或是Leader,或是Follower),如下所示,是在ZooKeeper集群中的每个结点上查询的结果:

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

7、另外,可以通过客户端脚本,连接到ZooKeeper集群上。对于客户端来说,ZooKeeper是一个整体(ensemble),连接到ZooKeeper集群实际上感觉在独享整个集群的服务,所以,你可以在任何一个结点上建立到服务集群的连接,例如:

  1. hadoop@slave-:~/installation/zookeeper-3.3.$ bin/zkCli.sh -server slave-:
  2. Connecting to slave-:
  3. -- ::, - INFO [main:Environment@] - Client environment:zookeeper.version=3.3.-, built on // : GMT
  4. -- ::, - INFO [main:Environment@] - Client environment:host.name=slave-
  5. -- ::, - INFO [main:Environment@] - Client environment:java.version=1.6.0_30
  6. -- ::, - INFO [main:Environment@] - Client environment:java.vendor=Sun Microsystems Inc.
  7. -- ::, - INFO [main:Environment@] - Client environment:java.home=/home/hadoop/installation/jdk1..0_30/jre
  8. -- ::, - INFO [main:Environment@] - Client environment:java.class.path=/home/hadoop/installation/zookeeper-3.3./bin/../build/classes:/home/hadoop/installation/zookeeper-3.3./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]

ZooKeeper 安装部署的更多相关文章

  1. ZooKeeper 安装部署及hello world(转)

    ZooKeeper  安装部署及hello world 先给一堆学习文档,方便以后查看官网文档地址大全:OverView(概述)http://zookeeper.apache.org/doc/r3.4 ...

  2. ZooKeeper 安装部署及hello world

    ZooKeeper  安装部署及hello world 先给一堆学习文档,方便以后查看官网文档地址大全: OverView(概述)http://zookeeper.apache.org/doc/r3. ...

  3. Zookeeper安装部署

    Zookeeper安装 1. 安装 wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz ...

  4. ZooKeeper安装,部署

    实验环境 192.168.1.10 Zookeeper1:2181, Zookeeper2:2182 192.168.1.11 ZooKeeper3:2181 依赖环境 JDK1.7 安装,配置 1. ...

  5. windows下dubbo-admin和zookeeper安装部署

    1.   概述 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂 ...

  6. kafka和zookeeper安装部署(版本弄不好就是坑)

    yum install -y unzip zip 配置host vi /etc/host172.19.68.10 zk1 1. zookeeper zookeeper下载地址 http://mirro ...

  7. zookeeper安装部署步骤

    安装步骤 本安装教程,采用zookeeper 3.6.1 装java 下载zk包,分发到各个机器 确定或创建一个zookeeper的数据存放路径,并在该路径下创建一个myid文件,其中设置当前zook ...

  8. 161209、简要分析ZooKeeper基本原理及安装部署

    一.ZooKeeper 基本概念 1.ZooKeeper 是什么? Zookeeper官网地址: http://zookeeper.apache.org/ Zookeeper官网文档地址:http:/ ...

  9. zookeeper与kafka安装部署及java环境搭建(发布订阅模式)

    1. ZooKeeper安装部署 本文在一台机器上模拟3个zk server的集群安装. 1.1. 创建目录.解压 cd /usr/ #创建项目目录 mkdir zookeeper cd zookee ...

随机推荐

  1. 重构笔记---MEF框架(上)

    概述 这篇文章的目的是简要分析对比MAF和MEF,并详细举出MEF设计中的细节和扩展上的细节,达到让读者能实际操作的目的.其中,MAF的设计会附上我的代码,其实就是官方的代码我自己手动联系了一遍,但还 ...

  2. Javascript基础系列之(五)条件语句(switch语句)

    stwith语句的格式一般如下: switch (expression){ case value :statement1 break; case value2 :statement2 break; . ...

  3. α发布后的感想(组长作业)

    今天α发布后,组长作业,谈谈心得体会,谈谈哪些做的好的地方,哪些做的不好.耐撕团队组长因有事缺席,耐撕团队的α发布由齐同学来主持,所以这个作业由齐同学代理. 先谈谈耐撕团队在α发布会中齐同学认为做的好 ...

  4. OVER(PARTITION BY)函数介绍

    问题场景 最近在项目中遇到了对每一个类型进行求和并且求该类型所占的比例,当时考虑求出每种类型的和,并在java中分别对每一种类型的和与总和相除求出所占比例.后来,想到这样有点麻烦,并且项目中持久层使用 ...

  5. struts的上传和下载

    上传: jsp: <body> <h1>filogin</h1> <!--如果表单中有文件文件控件,上传的编码必须是multipart/form-data - ...

  6. usefull-url

    http://www.johnlewis.com/ http://codepen.io/francoislesenne/pen/aIuko http://www.rand.org/site_info/ ...

  7. WebForm控件之DropDownList

    DropDwonList 三件事: ------------------------------------------1.把内容填进去-------------------------------- ...

  8. 安装Eclipse插件

    安装Eclipse插件   从eclipse 3.6开始,eclipse有一个marketplace,这个类似现在手机的app store一样,可以在其中检索相关插件,直接安装,打开help--> ...

  9. 判断一个数据是否存在于一个表中,Oracle中写自定义函数

    create or replace function isExist(data in DataTypes) --DataTypes 为表中该数据的类型return Numberisv_flag num ...

  10. 点击div区域以外部分,div区域隐藏

    核心思想: 监听body的click事件,事件触发的时候判断是否发生在弹出的div上,如果不在,关闭弹层 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...