天天看點

Linux安裝zookeeper叢集

Linux安裝zookeeper叢集步驟(本文中有三台伺服器):

安裝之前請先確定Linux已經安裝jdk,然後建議将hostname修改為友善記憶的标記(修改方法參考另一博文:linux修改hostname)

1.安裝zookeeper:

從官網上面下載下傳zookeeper安裝包(本文使用的版本為zookeeper-3.4.6),放到/usr/local目錄下面然後解壓

Linux安裝zookeeper叢集

2. 配置環境變量:編輯/etc/profile檔案将zookeeper的環境變量配置進去

export ZOOKEEPER=/usr/local/zookeeper-.
export PATH=$PATH:$ZOOKEEPER/bin
           

3.配置zoo.cfg檔案:

進入zooKeeper的conf目錄,将 zoo_sample.cfg複制為zoo.cfg檔案,然後編輯zoo.cfg檔案:

Linux安裝zookeeper叢集

server.A=B:C:D:其中 A 是一個數字,表示這個是第幾号伺服器;B 是這個伺服器的 ip 位址;C 表示的是這個伺服器與叢集中的 Leader 伺服器交換資訊的端口;D 表示的是萬一叢集中的 Leader 伺服器挂了,需要一個端口來重新進行選舉,選出一個新的 Leader,而這個端口就是用來執行選舉時伺服器互相通信的端口。如果是僞叢集的配置方式,由于 B 都是一樣,是以不同的 Zookeeper 執行個體通信端口号不能一樣,是以要給它們配置設定不同的端口号。

4.建立myid檔案

在dataDir目錄下建立一個myid檔案,然後分别在myid檔案中按照zoo.cfg檔案的server.A中A的數值,在不同機器上的該檔案中填寫相應的值。

5.按照上述方法同樣在另外2台機器上面配置或者直接将該機器上面的檔案拷貝到另外的2台機器上面

6.啟動各伺服器的zooKeeper:./zkServer.sh start

7. 開發人員可以使用指令“JPS”檢視Zookeeper是否成功啟動,以及執行指令“zkServer.sh status”檢視Zookeeper叢集狀态,如下所示:

[root@leon127 bin]# ./zkServer.sh  status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader

[root@leon146 bin]# ./zkServer.sh  status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

[root@leon67 bin]# ./zkServer.sh  status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
           

8.檢視log成功運作:

-- ::, [myid:] - INFO  [WorkerReceiver[myid=]:FastLeaderElection@597] - Notification:  (message format version),  (n.leader),  (n.zxid),  (n.round), LOOKING (n.state),  (n.sid),  (n.peerEpoch) LEADING (my state)
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@330] - Follower sid:  : info : org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer@4f68565b
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@385] - Synchronizing with Follower sid:  maxCommittedLog= minCommittedLog= peerLastZxid=
-- ::, [myid:] - WARN  [LearnerHandler-/::LearnerHandler@446] - Unhandled proposal scenario
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@462] - Sending SNAP
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@486] - Sending snapshot last zxid of peer is   zxid of leader is sent zxid of db as 
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@522] - Received NEWLEADER-ACK message from 
-- ::, [myid:] - INFO  [NIOServerCxn.Factory:/::NIOServerCnxnFactory@197] - Accepted socket connection from /:
-- ::, [myid:] - INFO  [NIOServerCxn.Factory:/::NIOServerCnxn@827] - Processing srvr command from /:
-- ::, [myid:] - INFO  [Thread-:NIOServerCnxn@1007] - Closed socket connection for client /: (no session established for client)
           

繼續閱讀