zookeeper環境的準備

zookeeper環境的準備

簡介

介紹
  1. 是什麼
    zooKeeper 是一個分佈式的,開放源碼的分佈式應用程序協調服務,爲分佈式提供一致性服務。
  2. 有什麼用
    它提供了分佈式一致性問題解決方案
  3. 特性
    順序一致性、原子性、可靠性、實時性等

原理

zookeeper維護了一套被稱爲znode節點的數據結構,每個節點擁有唯一的id,並且可以存放對應的姓名與數據。

znode節點:

znode節點分爲持久化節點和臨時節點兩大類,分別包含永久(臨時)與順序

watcher通知

zk中節點發生變化會通過watcher對客戶端進行通知
watcher接口:

public interface Watcher {
    public interface Event {
        public enum KeeperState {
            @Deprecated
            Unknown (-1),
            Disconnected (0),
            NoSyncConnected (1),
            SyncConnected (3),
            AuthFailed (4),
            ConnectedReadOnly (5),
            SaslAuthenticated(6),
            Expired (-112);
      }
   ...
}
服務狀態

LOOKING:集羣中leader機器宕機其他機器會出現該狀態,表示要選取新的leader
FOLLOWING:從機器狀態
LEADING:主機器狀態
OBSERVING:觀察者狀態

集羣選取機制

zookeeper集羣最少要有3臺機器,一主兩從。
leader機器作爲集羣的核心,所有數據都會在此統一,並同步至其他從機器上。
當leader機器宕機時,其他從機器會採取選取機制重新選取leader。
選取機制:投票選舉機制,並依據機器id、最新事務id來判斷選舉機器爲誰。

應用

  1. 下載
    可以去官方網站下載,也可以直接在服務器上下載安裝
    1.1 環境
    centos7
    1.2指令
    wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
  2. 啓動
    2.1解壓
    tar -zxvf xx.gz
    在這裏插入圖片描述
    2.2配置調整
    如果不需要調整,則可跳過本步,拷貝zoo_sample.cfg爲zoo.cfg
    cp xx.cfg xxx.cfg
    在這裏插入圖片描述
    目的:更改zk的日誌與數據存放位置
    在這裏插入圖片描述
    2.3更改系統環境變量
    vi /etc/profile添加:
    export ZOOKEEPER_HOME=/home/zookeeper/zookeeper-3.4.9/
    export PATH=$ZOOKEEPER_HOME/bin:$PATH
    export PATH
    
    然後重新加載:source /etc/profile
    2.4啓動
    進入bin路徑:zkServer.sh start
    在這裏插入圖片描述
    啓動成功。
  3. 關於集羣的配置
    集羣配置需要調整上述zoo.cfg文件,新增集羣節點:
    server.1=xx.xx.xx.xx:2288:3888
    server.2=xx.xx.xx.xxx:2289:3889

    其中2288爲與leader交換信息端口,3888爲leader宕機後選取新leader的端口
  4. 操作
    4.1查詢
    進入bin目錄:./zkCli.sh -server 192.168.99.128:2181
    ls查看:
    在這裏插入圖片描述
    創建:create [path]
    刪除:delete [path]
    刪除文件夾及內容:rmi [path]
    等等…
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章