zookeeper 學習記錄

2021-10-04 10:52:49 字數 1181 閱讀 6263

一、原理

1)半數機制:

集群中半數以上機器存活,集群才可用(存活數量 > 【總數量 / 2】 )。

zookeeper適合安裝 奇數 台數的伺服器集群

例如:total=5臺,dead=3臺,集群不可用

total=6臺,dead=3臺,集群不可用

2)zookeeper 通過 自動選舉機制 來產生 leader 和 follower,配置檔案中不需要進行設定

3)選舉機制-半數機制

啟動時的  順序選舉機制 :

每台機器依次啟動,啟動完進行選舉;

每台機器都是先給自己投票,當發現自己的選票達不到半數以上,就把票投給伺服器id號比自己大的機器;

當某台機器的票數達到半數以上,即刻選為leader

4)節點分為:持久節點 和 臨時節點

命令

./zkserver start 啟動zookeeper

./zkcli.sh 啟動客戶端

ls /nodename 檢視節點資訊

create -e /nodename "nodevalue" 建立臨時節點

create -s /nodename "nodevalue" 建立帶序號的持久節點

get /nodename 獲取節點的值

set /nodename 修改節點的值

delete /nodename 刪除葉子節點

rmr /nodename 遞迴刪除節點及其子節點

stat /nodename 檢視節點狀態

6)監聽原理

1.開局乙個main執行緒

2.main執行緒建立zookeeper客戶端,同時建立兩個子執行緒

connect執行緒:負責網路連線通訊

listener執行緒:負責監聽變化

3.通過connect執行緒將註冊的監聽事件傳送給zookeeper,並新增到***列表中(格式:client:ip:port:/path)

4.當監聽到資料或路徑發生變化,listener執行緒內部呼叫process方法

7)寫資料原理

Zookeeper學習記錄

zookeeper是乙個高效能,開源的分布式協調服務的應用,它提供了許多功能,使分布式應用可以基於它實現更高階的服務。它的出現可以使我們更好的治理分布式服務。為什麼需要乙個東西來協調服務呢 下面的這張圖有很好的說明?圖中每輛車,都可以當做乙個服務。當服務太多而又沒有乙個特定的東西進行管理的時候,所有...

Linux安裝Zookeeper記錄

刪除解壓包,刪除配置檔案zoo.cfg 先確保jdk環境已經安全 把壓縮包上傳到 linux 系統 解壓壓縮包 tar zxvf zookeeper 3.4.6.tar.gz c usr local 進入zookeeper 3.4.6目錄 cd usr local zookeeper 3.4.6 在...

zookeeper學習筆記

zookeeper簡介 zookeeper是乙個為分布式應用程式提供高效能協調服務的工具集合,是著名的開源框架 hadoop的子專案,它可以應用在一些需要提供統一協調服務的任務中,例如命名 配置管理 同步和組服務等,而在分布式快取設計中,它被作為乙個協調分布式環境中各快取伺服器之間共享狀態資料的基礎...