ZooKeeper(二)-在Linux上的僞集羣佈置

Zookeeper不但可以在單機上運行單機模式Zookeeper,而且可以在單機模擬集羣模式 Zookeeper的運行,也就是將不同節點運行在同一臺機器。我們知道僞分佈模式下Hadoop的操作和分佈式模式下有着很大的不同,但是在集羣爲分佈 式模式下對Zookeeper的操作卻和集羣模式下沒有本質的區別。顯然,集羣僞分佈式模式爲我們體驗Zookeeper和做一些嘗試性的實驗提供了很大 的便利。比如,我們在實驗的時候,可以先使用少量數據在集羣僞分佈模式下進行測試。當測試可行的時候,再將數據移植到集羣模式進行真實的數據實驗。這樣不 但保證了它的可行性,同時大大提高了實驗的效率。這種搭建方式,比較簡便,成本比較低,適合測試和學習,如果你的手頭機器不足,就可以在一臺機器上部署了 3個server。
僞集羣佈置
方法一: 在機器上準備一份zookeeper文件,爲zookeeper準備不同的zoo.cfg文件,如zoo0.cfg,zoo1.cfg,zoo2.cfg。再根據cfg文件準備不同的data和log文件夾。每個配置文檔模擬一臺機器,也就是說單臺機器及上運行多個Zookeeper實例。但是,必須保證每個配置文檔的各個端口號不能衝突,除了clientPort不同之外,dataDir也不同。另外,還要在dataDir所對應的目錄中創建myid文件來指定對應的Zookeeper服務器實例。
方法二: 在機器上準備多份zookeeper文件。本人用的就是這個方法,具體步驟如下。
目錄結構
這裏寫圖片描述
要注意的是,你打算在你的單機上建立幾個ZooKeeper服務器,你就建立幾個目錄,然後在每個目錄裏都解壓zookeeper。

部署規模爲3的單機僞機羣
(1)server0
新建目錄data:/tmp/zookeeper/server0/zk/data
新建目錄logs:/tmp/zookeeper/server0/zk/log
新建文件myid:/tmp/zookeeper/server0/zk/data/myid
切換到data 目錄,新建文件myid ,新建myid的命令如下: gedit myid
文件內容如下:
這裏寫圖片描述
然後在config目錄下新建zoo.cfg文件,內容如下

tickTime=2000 
initLimit=10 
syncLimit=5 
dataDir=/tmp/zookeeper/server0/zk/data
dataLogDir=/tmp/zookeeper/server0/zk/logs
clientPort=4180
server.0=127.0.0.1:8080:7770
server.1=127.0.0.1:8081:7771
server.2=127.0.0.1:8082:7772

(2)server1
新建目錄data:/tmp/zookeeper/server1/zk/data
新建目錄logs:/tmp/zookeeper/server1/zk/log
新建文件myid:/tmp/zookeeper/server1/zk/data/myid
切換到data 目錄,新建文件myid ,新建myid的命令如下: gedit myid
這裏寫圖片描述
新建zoo.cfg

tickTime=2000 
initLimit=10 
syncLimit=5 
dataDir=/tmp/zookeeper/server1/zk/data
dataLogDir=/tmp/zookeeper/server1/zk/logs
clientPort=4181
server.0=127.0.0.1:8080:7770
server.1=127.0.0.1:8081:7771
server.2=127.0.0.1:8082:7772

(三)server2
懶得寫。

啓動服務器和客戶端
啓動ZooKeeper僞機羣的所有服務器
進入到各個服務的bin目錄下。依次啓動zookeeper服務器。啓動完成後,查看服務器狀態,發現他們的身份分別是follower和leader。這就表示你部署成功了。你也可以啓動客戶端,測試連接。

[root@localhost ~]# cd /tmp/zookeeper/server2/zk/bin
[root@localhost bin]# ./zkServer.sh start 
ZooKeeper JMX enabled by default
Using config: /tmp/zookeeper/server2/zk/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost bin]# jps
4736 QuorumPeerMain
4867 QuorumPeerMain
4931 QuorumPeerMain
4966 Jps
[root@localhost bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /tmp/zookeeper/server2/zk/bin/../conf/zoo.cfg
Mode: follower
[root@localhost bin]# cd /tmp/zookeeper/server1/zk/bin
\[root@localhost bin]# ./zkCli.sh stop
Connecting to localhost:2181

截圖如下:注意我標紅的信息。
這裏寫圖片描述

連接成功後,記得stop連接後,再退出終端。
命令是:
[root@localhost bin]# ./zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /tmp/zookeeper/server0/zk/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章