zookeeper集群搭建 windows


本次zk測試部署版本為3.4.6版本,下載地址http://mirrors.cnnic.cn/apache/zookeeper/

限於服務器個數有限本次測試了兩種情況

1、單節點方式:部署在一台服務器上

2、單IP多節點(偽集群):部署在同一IP,但是有多個節點,各有自己的端口

3、多IP多節點:部署在不同IP,各有自己的端口(未測試)

一、單節點方式:

1、解壓zk包,進入zookeeper-3.4.6\conf目錄,修改zoo_sample.cfg文件為zoo.cfg.如果沒有特殊需求,不需要修改配置文件,直接使用默認配置文件即可.

各個參數的意義:

tickTime:這個時間是作為 Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。
dataDir:顧名思義就是 Zookeeper 保存數據的目錄,默認情況下,Zookeeper 將寫數據的日志文件也保存在這個目錄里。
clientPort:這個端口就是客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。
initLimit:集群中的follower服務器(F)與leader服務器(L)之間初始連接時能容忍的最多心跳數(tickTime的數量)
syncLimit:集群中的follower服務器與leader服務器之間請求和應答之間能容忍的最多心跳數(tickTime的數量)。

啟動zookeeper,windows下執行zookeeper-3.4.6\bin >zkServer.cmd;linux下ookeeper-3.4.6\bin >zkServer.sh start啟動

 

查看是否成功運行:bin/zkServer.cmd  status

二、單IP多節點

 

(1)修改配置文件:拷貝多份zookeeper程序,例如設置三個server,分別創建目錄server1、server2、server3,每個目錄下存放一份zookeeper程序,並修改各自配置文件如下:

server1

server2配置:

server3配置:

 

注意:

同一IP上搭建多個節點的集群時,必須要注意端口問題,端口必須不一致才行;

創建多個節點集群時,在dataDir目錄下必須創建myid文件,myid文件用於zookeeper驗證server序號等,myid文件只有一行,並且為當前server的序號,例如server.1的myid就是1,server2的myid就是2等。

server.A=B:C:D;其中 A 是一個數字,表示這個是第幾號服務器;B 是這個服務器的 ip 地址;C 表示的是這個服務器與集群中的 Leader 服務器交換信息的端口;D 表示的是萬一集群中的 Leader 服務器掛了,需要一個端口來重新進行選舉,選出一個新的 Leader,而這個端口就是用來執行選舉時服務器相互通信的端口。如果是偽集群的配置方式,由於 B 都是一樣,所以不同的 Zookeeper 實例通信端口號不能一樣,所以要給它們分配不同的端口號。

 

啟動過程:啟動順序為server1、server2、server3。在啟動server1,server2時zk會報錯,當所有節點全部啟動時錯誤會消失。

三、

多IP多節點:

將zookeeper拷貝到每個節點一份。

多IP多節點與單IP多節點搭建過程基本一致,上述過程不再重復描述,僅重點說一個地方:server的IP地址、端口為真實即可。

注意:zk的部署個數最好為基數,ZK集群的機制是只要超過半數的節點OK,集群就能正常提供服務。只有ZK節點掛得太多,只剩一半或不到一半節點能工作,集群才失效。

 

四.驗證服務器

  可以通過Zk提供的簡易客戶端來進行驗證,雙擊下zookeeper-*/bin/zkCli.cmd來啟動Zk簡易客戶端,或者通過命令zkCli.cmd -server 127.0.0.1:2181來啟動,然后通過使用ls命名(列出Zk指定節點下的所有子節點)來驗證Zk已經啟動完成,如圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM