1. 程式人生 > >Zookeeper-3.4.8叢集搭建

Zookeeper-3.4.8叢集搭建

老專案中的客戶端使用了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/log
clientPort 埠號(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時報錯,所以建議關掉當前伺服器的防火牆。