zookeeper集群 Zookeeper集群搭建

2021-10-12 00:07:16 字數 2784 閱讀 4642

zookeeper有兩種執行模式:單機模式和集群模式。因為單機模式只是在開發測試時使用,所以這裡就不介紹單機模式的搭建。

注意:因為zookeeper遵循半數原則,所以集群節點個數最好是奇數。

ip位址

系統環境

192.168.0.10

centos7

jdk8

192.168.0.11

centos7

jdk8

192.168.0.12

centos7

jdk8

根據自己的需求,選擇相對應的版本,我這是用的是zookeeper-3.4.14。

tar -zxvf zookeeper-3.4.14.tar.gz -c /opt/module/
進入到 conf/ 目錄下,裡面有乙個 zoo_sample.cfg 檔案,這個就是zookeeper的配置檔案。我們先對裡面的引數介紹下:

引數名預設值

描述ticktime

2000

單位是毫秒(ms)。表示zookeeper中的最小時間單元的長度,其他引數都是以ticktime為單位來配置。

initlimit

10單位是ticktime。表示允許follower初始化連線到leader並完成資料同步的超時時間,如果zookeeper管理的資料量很大,請根據需要增加此值。

synclimit

5單位是ticktime。表示leader與follower之間進行心跳檢測的最大延時時間。如果超過時間,那麼leader認為該follower已經脫離了集群。

datadir

無必須配置。用於配置zookeeper伺服器儲存快照檔案的目錄。

datalogdir

datadir

用於配置zookeeper伺服器儲存事務日誌檔案的目錄。推薦配置為單獨的乙個磁碟上,因為事務日誌寫入的效能直接決定了zookeeper在處理事務請求時的吞吐。

clientport

2181

必須配置。用於配置當前伺服器對外的服務埠,客戶端會通過該埠和zookeeper伺服器建立連線。

snapcount

100000

用於配置相鄰兩次資料快照之間的事務操作次數,即zookeeper會在snapcount次事務操作之後進行一次資料快照。

preallocsize

65536

單位是kb。用於配置zookeeper事務日誌檔案預分配的磁碟空間大小。

minsessiontimeout

2單位是ticktime。用於配置服務端和客戶端會話超時時間的最小值。

maxsessiontimeout

20單位是ticktime。用於配置服務端和客戶端會話超時時間的最大值。

maxclientcnxns

60用於從socket層面限制單個客戶端與單台伺服器之間的併發連線數,即以ip位址粒度來進行連線數的限制。如果將該引數設定為0,則表示對連線數不作任何限制。

server.id=host:port:port

無用於配置組成zookeeper集群的機器列表,其中id即為serverid,與每台伺服器myid檔案中的數字相對應。同時,在該引數中,會配置兩個埠:第乙個埠用於指定follower伺服器與leader進行執行時通訊和資料同步時所使用的埠,第二個埠則專門用於進行leader選舉過程中的投票通訊。

autopurge.snapretaincont

3用於配置zookeeper在自動清理的時候需要保留的快照資料檔案數量和對應的事務日誌檔案。需要注意的是,並不是磁碟上的所有事務日誌和快照資料檔案都可以被清理掉——那樣的話將無法恢復資料。因此 autopurge.snapretaincont 的最小值是3,如果配置的 autopurge.snapretaincont 值比3小的話,那麼會被自動調整到3,即至少需要保留3個快照資料檔案和對應的事務日誌檔案。

autopurge.purgeinterval

0單位是小時。用於配置zookeeper進行歷史檔案自動清理的頻率。如果配置該值為0或負數,那麼就表明不需要開啟定時清理功能。

先將 zoo_sample.cfg 檔案重新命名為zoo.cfg,然後修改裡面的引數,我修改的引數如下:

ticktime=2000

initlimit=10

synclimit=5

datadir=/data/zookeeper/data

clientport=2181

server.1=192.168.0.10:2888:3888

server.2=192.168.0.11:2888:3888

server.3=192.168.0.12:2888:3888

注意:這裡只進行了簡單的配置,請根據自己的業務需求進行修改。根據配置檔案中的datadir引數建立對應的目錄,然後在此目錄下建立名為myid的檔案,新增配置的當前節點id。

根據上面的步驟在其他兩台機器上進行配置。

注意:一定要修改myid檔案中的資料為對應節點的id。

在根目錄中有乙個 /bin 資料夾,zookeeper中所有的命令都在這個目錄下。

./zkserver.sh start

./zkserver.sh status

./zkserver.sh stop

zookeeper集群 Zookeeper集群搭建

埠分別為 2181 2182 2183。投票選舉埠分別為 2881 3881 2882 3882 2883 3883。tar zxf zookeeper 3.4.6.tar.gz 將解壓後的 zookeeper 應用目錄重新命名,便於管理 在 zookeeper01 應用目錄中,建立 data 目錄...

zookeeper集群安裝

此處為zookeeper 3.3.2 2.分別解壓至zookeepr集群機器 一般為基數臺機器 相應目錄 此處為 zookeeper home 集群為mem1,mem2,mem3 hosts對應 1.分別在zookeepr集群機器上配置 zookeeper home conf zoo.cfg 預設是...

zookeeper 集群安裝

參考zookeeper主頁 選擇目前的stable版本 3.4.8 本次安裝機器為172.23.28.51 52 53 wget 2.解壓 tar zxvf zookeeper 3.4.8.tar.gz mv zookeeper 3.4.8 usr local zookeeper 3.增加zoo.c...