Zookeeper-3.4.8叢集搭建
阿新 • • 發佈:2019-01-24
老專案中的客戶端使用了ZK的3.4.8版本,所以服務端依舊使用該版本進行搭建。
選擇三臺伺服器搭建叢集:172.16.10.70,172.16.10.71,172.16.10.72。根據zk的選舉原理,叢集選擇奇數個節點,保證其高可用性(原理不在此處標明)。
1、增加主機名解析(也可以不配置解析,在配置叢集地址時使用真實IP)
修改/etc/hosts下檔案,增加三臺伺服器的主機名解析
例如:
172.16.10.70 zk70
172.16.10.71 zk71
172.16.10.72 zk72
2、修改zookeeper配置檔案:zoo.cfg
將安裝包內的zoo_sample.cfg拷貝一個作為zoo.cfg(必須叫這個名)
主要修改以下內容:
dataDir 和 dataLogDir(配置檔案中不存在,則自己加入相關的變數)
例如:
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logclientPort 埠號(2181)
70上配置如下,其他兩臺類似:(後面兩個埠可以隨意使用,只要不和其他服務的埠衝突即可)
server.1=zk70:2888:3888 //(這裡如果沒有配置步驟1中的主機名解析,就將zk70改為“172.16.10.70”)
server.2=172.16.10.71:2888:3888
server.3=172.16.10.72:2888:3888
3、在 dataDir 目錄下建立名為 myid 的檔案,在檔案第一行寫上對應的Server ID。
例如:
在zk70上dataDir的目錄為:/data/zookeeper/data,則在這個目錄下建立myid檔案,內容為1。這個1與配置檔案中的server.1中的1保持一致,用來標識叢集中的編號。
4、啟動:
在zookeeper的安裝目錄的bin下執行zkServer.sh start,啟動日誌在該目錄下的zookeeper.out。
注意:
****叢集的三臺伺服器關閉伺服器防火牆,當然如果只放開2181,2888和3888埠叢集也可以執行,但是當用zk來管理其他服務時,會造成其他服務連線zk時報錯,所以建議關掉當前伺服器的防火牆。