1. 程式人生 > >zookeeper環境搭建

zookeeper環境搭建

系統:CentOS6.7,CentOS7,Red Hat Enterprise
軟體:zookeeper-3.4.8.tar.gz
準備:

  1. 下載zookeeper:http://apache.fayea.com/zookeeper/
    或者:wget http://apache.fayea.com/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
    (需要安裝wget : yum install -y wget
  2. 關閉系統防火牆:
    CentOS6/Red Hat Enterprise : service iptables stop
    CentOS7 : systemctl stop firewalld.service

安裝(三個系統修改一致):

  1. 解壓安裝包:tar -zxvf zookeeper-3.4.8.tar.gz

  2. cd到解壓目錄conf下:cd zookeeper-3.4.8/conf

  3. 複製配置檔案cp zoo_sample.cfg zoo.cfg

  4. 修改配置檔案(用以下內容覆蓋即可):配置引數說明

tickTime=2000
initLimit=5
syncLimit=2
dataDir=/usr/log/zookeeper/
clientPort=2181
server.1=slave-01:2888:3888
server.2=slave-02:2888:3888
server.3=slave-03:2888:3888
  1. 新建目錄/usr/log/zookeeper
mkdir -p /usr/log/zookeeper
  1. 在目錄下新建myid
vi myid

*三個系統中的這個需要做區分需要與配置(4)的server.id對應
CentOS6中的myid為1
CentOS7 中的myid為 2
Red Hat Enterprise 中的myid為 3*

  1. 修改hosts : vi /etc/hosts ip地址 與其對應的節點名稱,新增以下配置
192.168.82.251   slave-01
192.168.82.252   slave-02
192.168.82.8     slave-03

測試
按照myid依次(隨意)啟動zookeeper: bin/zkServer.sh start

016-06-16 20:36:19,222 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:os.name=Linux
2016-06-16 20:36:19,222 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:os.arch=amd64
2016-06-16 20:36:19,222 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:os.version=3.10.0-327.18.2.el7.x86_64
2016-06-16 20:36:19,222 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:user.name=root
2016-06-16 20:36:19,222 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:user.home=/root
2016-06-16 20:36:19,222 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Environment@100] - Server environment:user.dir=/usr/soft/apache/zk/zookeeper-3.4.8/bin
2016-06-16 20:36:19,224 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:ZooKeeperServer@170] - Created server with tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir /user/log/zookeeper/version-2 snapdir /user/log/zookeeper/version-2
2016-06-16 20:36:19,225 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@361] - LEADING - LEADER ELECTION TOOK - 54873
2016-06-16 20:36:19,682 [myid:2] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@192] - Accepted socket connection from /192.168.82.77:62516
2016-06-16 20:36:19,683 [myid:2] - WARN  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@362] - Exception causing close of session 0x0 due to java.io.IOException: ZooKeeperServer not running
2016-06-16 20:36:19,683 [myid:2] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1008] - Closed socket connection for client /192.168.82.77:62516 (no session established for client)
2016-06-16 20:36:29,227 [myid:2] - WARN  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:QuorumPeer@862] - Unexpected exception
java.lang.InterruptedException: Timeout while waiting for epoch from quorum
    at org.apache.zookeeper.server.quorum.Leader.getEpochToPropose(Leader.java:881)
    at org.apache.zookeeper.server.quorum.Leader.lead(Leader.java:380)
    at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:859)
2016-06-16 20:36:29,228 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@496] - Shutting down
2016-06-16 20:36:29,228 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Leader@502] - Shutdown called
java.lang.Exception: shutdown Leader! reason: Forcing shutdown
    at org.apache.zookeeper.server.quorum.Leader.shutdown(Leader.java:502)
    at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:865)
2016-06-16 20:36:29,228 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:QuorumPeer@774] - LOOKING
2016-06-16 20:36:29,228 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:FastLeaderElection@818] - New election. My id =  2, proposed zxid=0x30000068e
2016-06-16 20:36:29,229 [myid:2] - INFO  [WorkerReceiver[myid=2]:FastLeaderElection@600] - Notification: 1 (message format version), 2 (n.leader), 0x30000068e (n.zxid), 0x2 (n.round), LOOKING (n.state), 2 (n.sid), 0x3 (n.peerEpoch) LOOKING (my state)
2016-06-16 20:36:29,230 [myid:2] - INFO  [LearnerCnxAcceptor-slave-02/192.168.82.252:2888:Leader$LearnerCnxAcceptor@325] - exception while shutting down acceptor: java.net.SocketException: Socket closed
2016-06-16 20:36:29,231 [myid:2] - INFO  [WorkerReceiver[myid=2]:FastLeaderElection@600] - Notification: 1 (message format version), 3 (n.leader), 0x30000068e (n.zxid), 0x2 (n.round), FOLLOWING (n.state), 1 (n.sid), 0x4 (n.peerEpoch) LOOKING (my state)
2016-06-16 20:36:29,232 [myid:2] - INFO  [WorkerReceiver[myid=2]:FastLeaderElection@600] - Notification: 1 (message format version), 3 (n.leader), 0x30000068e (n.zxid), 0x2 (n.round), LEADING (n.state), 3 (n.sid), 0x4 (n.peerEpoch) LOOKING (my state)
2016-06-16 20:36:29,232 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:QuorumPeer@844] - FOLLOWING
2016-06-16 20:36:29,237 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Learner@86] - TCP NoDelay set to: true
2016-06-16 20:36:29,238 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:ZooKeeperServer@170] - Created server with tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir /user/log/zookeeper/version-2 snapdir /user/log/zookeeper/version-2
2016-06-16 20:36:29,238 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Follower@63] - FOLLOWING - LEADER ELECTION TOOK - 10
2016-06-16 20:36:29,239 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:QuorumPeer$QuorumServer@149] - Resolved hostname: slave-03 to address: slave-03/192.168.82.8
2016-06-16 20:36:29,245 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Learner@326] - Getting a diff from the leader 0x30000068e
2016-06-16 20:36:29,248 [myid:2] - INFO  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:FileTxnSnapLog@240] - Snapshotting: 0x30000068e to /user/log/zookeeper/version-2/snapshot.30000068e
2016-06-16 20:36:59,987 [myid:2] - WARN  [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Follower@118] - Got zxid 0x400000001 expected 0x1
2016-06-16 20:36:59,987 [myid:2] - INFO  [SyncThread:2:FileTxnLog@199] - Creating new log file: log.400000001
2016-06-16 20:37:20,620 [myid:2] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@192] - Accepted socket connection from /192.168.82.77:62546
2016-06-16 20:37:20,627 [myid:2] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@900] - Client attempting to establish new session at /192.168.82.77:62546
2016-06-16 20:37:20,837 [myid:2] - INFO  [CommitProcessor:2:ZooKeeperServer@645] - Established session 0x255593675c00000 with negotiated timeout 40000 for client /192.168.82.77:62546

啟動成功,客戶端成功連線。

搞了一天的時間算是有個成果吧只是簡單的搭建,研究的只是九牛一毛,望小夥伴指正!