簡介
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...