zookeeper單機集羣搭建

1. 下載zookeeper

參考官方文檔下載一節:https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_Downloadhtml

2. 建立zookeeper多實例

建立一個zookeeper-cluster目錄用來存放多個zookeeper實例(下載完成後解壓,複製3分,每一份就是一個實例)。能夠看到個人zookeeper-cluster目錄下有三個zookeeper實例(如圖1),對它們分別作以下配置:apache

圖1: zookeeper單機集羣建立實例spa

1. 配置conf/zoo.cfg3d

圖2: server-1的zoo.cfg配置文件code

  • clientPort: zookeeper對客戶端開發的端口號,默認爲2181,我這裏將三個實例分別改成了9200,9201,9202(只要不衝突就好了)
  • tickTime: 基本的時間單元,單位爲毫秒
  • dataDir: 存放該實例數據的文件夾路徑
  • initLimit: follower與leader初始化的時候須要進行鏈接的創建,這個初始化所須要的最大時間單位
  • syncLimit: follower與leader進行數據通訊所須要的最大時間單位
  • admin.serverPort: 目前版本的zookeeper內嵌了一個jetty,默認運行在8080端口
  • server.1/2/3: 這裏server後面的編號是每個zookeeper實例的id編號,這個id在後面會講是如何設置的,後面的值格式爲ip:port1:port2,ip是本實例運行所在機器的ip地址,port1是當本實例做爲一個follower時,與leader進行通訊的端口號,port2是當leader不慎掛掉以後,從新執行選舉時所用的端口號(不清楚爲何選舉須要一個端口號)

 

2. 在第一步中,有一個server.1/2/3,這個編號,在每一個zookeeper實例的建立名爲myid的文件,並寫入數字做爲該server的id編號,這裏我對應的每一個實例填寫了1,2,3server

圖3: zookeeper的dataDir路徑下建立myidhtm

3. 啓動集羣

在每一個實例目錄下執行blog

➜  zookeeper-3.5.2-server-1 ./bin/zkServer.sh start
➜  zookeeper-3.5.2-server-2 ./bin/zkServer.sh start
➜  zookeeper-3.5.2-server-3 ./bin/zkServer.sh start

能夠經過status查看它們的是leader仍是master,以及一些其餘信息ip

➜  zookeeper-3.5.2-server-1 ./bin/zkServer.sh status

圖4: 實例1運行的狀態-它是一個follower開發

相關文章
相關標籤/搜索