zookeeper 搭建單機僞集羣

zookeeper 搭建單機僞集羣

準備工作

  • 1、本文是在ubuntu 16.04上搭建的
  • 2、安裝jdk1.8,過程可以百度或者谷歌
  • 3、下載zookeeper

開始

  • 1、因爲機器有限,只能在一臺機器上搭建,將下載的zookeeper-3.4.11.tar.gz解壓,文件夾複製兩份,文件夾名分別改爲server1、server2、server3,分別在這三個文件夾裏新建data和dataLog這兩個文件;
  • 2、打開server1裏的conf,將zoo_sample.cfg重命名爲在zoo.cfg;
  • 3、在zoo.cfg裏添加如下配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/code/zookeeper/server1/data
dataLogDir=/home/code/zookeeper/server1/dataLog
clientPort=2181
server.1 =127.0.0.1:2888:3888
server.2 =127.0.0.1:2889:3889
server.3 = 127.0.0.1:2890:3890
initLimit 
ZooKeeper集羣模式下包含多個zk進程,其中一個進程爲leader,餘下的進程爲follower。 
當follower最初與leader建立連接時,它們之間會傳輸相當多的數據,尤其是follower的數據落後leader很多。initLimit配置follower與leader之間建立連接後進行同步的最長時間。

syncLimit 
配置follower和leader之間發送消息,請求和應答的最大時間長度。

tickTime 
tickTime則是上述兩個超時配置的基本單位,例如對於initLimit,其配置值爲5,說明其超時時間爲 2000ms * 5 = 10秒。
.server.id=host:port1:port2 
其中id爲一個數字,表示zk進程的id,這個id也是dataDir目錄下myid文件的內容。 
host是該zk進程所在的IP地址,port1表示follower和leader交換消息所使用的端口,port2表示選舉leader所使用的端口。
  • 4、dataDir和dataLogDir路徑不要寫錯,不然啓動會報錯:java.net.ConnectException: 拒絕連接
  • 5、將該配置分別複製到server2和server3,這裏只要將clientPort改成2182和2183,端口不能衝突
  • 6、至此,基本就搭建完成了

測試

  • 1、隨便在三個文件下的bin下輸入
./zkServer.sh start
  • 2、都啓動之後,在bin再輸入,連接到zookeeper
./zkCli.sh -server 127.0.0.1:2182
  • 3、連接成功顯示如下
[zk: 127.0.0.1:2181(CONNECTED) 0] 
[zk: 127.0.0.1:2181(CONNECTED) 0] 
[zk: 127.0.0.1:2181(CONNECTED) 0] 
[zk: 127.0.0.1:2181(CONNECTED) 0] 
[zk: 127.0.0.1:2181(CONNECTED) 0] 
[zk: 127.0.0.1:2181(CONNECTED) 0] 
[zk: 127.0.0.1:2181(CONNECTED) 0] 
[zk: 127.0.0.1:2181(CONNECTED) 0] 
[zk: 127.0.0.1:2181(CONNECTED) 0] 

參考:http://blog.csdn.net/zh521zh/article/details/51732083

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