Zookeeper基礎內容

1:定義

官網:zookeeper.apache.org

  • 相當於是一個數據庫
  • 是一個分佈式協調框架,實現HA
  • 是一個分佈式鎖的管理框架,實現秒殺

2:提供的功能

  • 分佈式協調

  • 分佈式鎖

  • 數據同步(端口:2888),選舉機制(投票,端口:3888)

    主要的功能在於存儲數據和監聽

3:工作機制

整體運行機制

在這裏插入圖片描述

存儲數據

​ Zookeeper的數據模型是樹結構,在內存數據庫中,存儲了整棵樹的內容,包括所有的節點路徑、節點數據、ACL信息,Zookeeper會定時將這個數據存儲到磁盤上。

1、DataTree

DataTree是內存數據存儲的核心,是一個樹結構,代表了內存中一份完整的數據。DataTree不包含任何與網絡、客戶端連接及請求處理相關的業務邏輯,是一個獨立的組件。

2、DataNode

DataNode是數據存儲的最小單元,其內部除了保存了結點的數據內容、ACL列表、節點狀態之外,還記錄了父節點的引用和子節點列表兩個屬性,其也提供了對子節點列表進行操作的接口。

3、ZKDatabase

Zookeeper的內存數據庫,管理Zookeeper的所有會話、DataTree存儲和事務日誌。ZKDatabase會定時向磁盤dump快照數據,同時在Zookeeper啓動時,會通過磁盤的事務日誌和快照文件恢復成一個完整的內存數據庫。

監聽節點信息

在這裏插入圖片描述

如果某臺機器節點宕機,通過監聽功能向zookeeper會發送一個下線通知,然後重新通過回調process方法,重新獲取服務器列表,並在此註冊監聽。

4:應用場景

  • 集羣統一的配置管理
  • 集羣同一命名服務
  • 集羣統一管理
  • 服務器的動態上下線感知
  • 負載均衡,但並不是特別擅長

5:啓動命令

在主節點,從節點任意目錄下輸入:zkServer.sh start

然後在各個節點查看狀態,主節點爲leader,從節點爲follower,命令:zkServer.sh status

6:選舉機制

節點數量一般設置爲奇數

在這裏插入圖片描述

7:客戶端啓動命令

啓動客戶端:

zkCli.sh

查看幫助:

​ help

查看當前Znode所包含的內容

​ ls /

創建節點

​ create /hunter18

創建短暫Znode

​ create -e /itstar hunter

創建呆序號znode

create -s /bigdata hunter

查看此節點的詳細信息

​ ls2 /

獲得節點值監聽

​ ls /hunter watch

監聽路徑

​ ls / watch

修改Znode數據

​ set /hunter iiiii

刪除節點

​ delete /henter

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章