zookeeper集群搭建

2021-09-10 06:22:40 字數 1882 閱讀 1233

簡介

zookeeper是乙個類似hdfs的樹形檔案結構,zookeeper可以用來保證資料在(zk)集群之間的資料的事務性一致、

zookeeper有watch事件,是一次性觸發的,當watch監視的資料發生變化時,通知設定了該watch的client,即watcher

zookeeper有三個角色:learner,follower,observer

集群搭建

1.共3個節點(zk伺服器集群要求不小於3個節點),伺服器之間系統時間保持一致

2.解壓:tar  zookeeper-3.4.5.tar.gz

3.重新命名:mv  zookeeper-3.4.5  zookeeper

4.修改環境變數:vi /etc/profile

export zookeeper_home = /usr/local/zookeeper

export path = .....

5.重新整理:source /etc/profile

6.修改配置檔案:cd /usr/local/zookeeper/conf

mv zoo_sample.cfg zoo.cfg

7.修改conf:vi zoo.cfg

datadir = /usr/local/zookeeper/data

在底部新增:

server.0 = ip1 : 2888 : 3888

server.1 = ip2 : 2888 : 3888

server.2 = ip3 : 2888 : 3888

8.伺服器標識配置:

建立資料夾:mkdir data

建立檔案myid並填加內容為0  vi myid (內容為伺服器標識:0)

9.複製zookeeper目錄到另外兩個伺服器以及/etc/profile檔案,並修改myid內容分別為1和2  vi /usr/local/zookeeper/data/myid

10.啟動zookeeper:

路徑:/usr/local/zookeeper/bin

執行:zkserver.sh start(3個節點都要啟動)

狀態:zkserver.sh status(檢視3個節點zk的mode,1個leader2個follower)

zoo.cfg:

ticktime: 基本事件單元,以毫秒為單位。這個時間是作為 zookeeper伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,

也就是每隔 ticktime時間就會傳送乙個心跳。

datadir:儲存記憶體中資料庫快照的位置,顧名思義就是 zookeeper儲存資料的目錄,預設情況下,zookeeper將寫資料的日誌檔案也儲存在這個目錄裡。

clientport: 這個埠就是客戶端連線 zookeeper 伺服器的埠,zookeeper會監聽這個埠,接受客戶端的訪問請求。

initlimit: 這個配置項是用來配置 zookeeper接受客戶端初始化連線時最長能忍受多少個心跳時間間隔數,當已經超過 10 個心跳的時間(也就是 ticktime)長度後zookeeper 伺服器還沒有收到客戶端的返回資訊,那麼表明這個客戶端連線失敗。總的時間長度就是10*2000=20 秒。

synclimit: 這個配置項標識 leader 與 follower之間傳送訊息,請求和應答時間長度,最長不能超過多少個 ticktime的時間長度,總的時間長度就是 5*2000=10 秒

server.a = b:c:d :

a表示這個是第幾號伺服器,

b 是這個伺服器的 ip 位址;

c 表示的是這個伺服器與集群中的 leader伺服器交換資訊的埠;

d 表示的是萬一集群中的 leader伺服器掛了,需要乙個埠來重新進行選舉,選出乙個新的 leader

zookeeper集群搭建

接觸zookeeper集群已有很長很長一段時間了,zookeeper在專案中的使用相當的頻繁,如dubb服務 amq集群 大資料領域hadoop等。zookeeper的集群建立非常簡單,一直想寫一篇文章來對集群使用的介紹,但一直沒能抽出空,今天正好閒來無事,就重新實踐一遍來整理記錄,下文是基本的集群...

zookeeper集群搭建

zookeeper環境搭建需要保證奇數臺機器,以保證演算法能選舉出乙個leader。一 環境準備 datadir dir ticktime 2000 initlimit 5 synclimit 2 clientport 2181 server.0 192.168.1.100 2888 3888 se...

zookeeper集群搭建

1.準備工作 tomcat zookeeper 最少三個結點搭乙個集群,所以複製三份 2.搭建並配置三個zookeeper例項 cd usr local solr cloud zookeeper01 進zookeeper01目錄,mkdir data 該目錄下建立data資料夾,放置zookeepe...