1. 程式人生 > >Zookeeper之入門(原理、基礎知識)

Zookeeper之入門(原理、基礎知識)

otto 執行 width delete 2.3 命名 類型 keep gin

Zookeeper介紹

Zookeeper是分布式應用程序的協調服務框架,是Hadoop的重要組件。ZK要解決的問題:

1.分布式環境下的數據一致性。

2.分布式環境下的統一命名服務

3.分布式環境下的配置管理

4.分布式環境下的分布式鎖

5.集群管理問題

Zookeeper指令與數據結構

Zk數據結構

1. ZK有一個最開始的節點

2. ZK的節點叫做znode節點

3. 每個znode節點都可存儲數據

4. 每個znode節點都可創建自己的子節點

5. 多個znode節點共同形成了znode

6. Znode樹的維系實在內存中,目的是供用戶快速的查詢

7. 每個znode節點都是一個路徑(通過路徑來定位這個節點)

8. 每個路徑名都是唯一的。

ZK指令

指令

示例

ls查看指令

ls /

create創建節點指令,註意,在創建節點時,要分配初始數據。

create /zk01

hello

create /zk02 ‘’

get查看節點數據指令

hello 數據

cZxid = 0x2

ctime = Mon May 15 05:58:32 PDT 2017創建節點的時間戳

mZxid = 0x2

mtime = Mon May 15 05:58:32 PDT 2017修改此節點數據的最新時間戳

pZxid = 0x2

cversion = 0

dataVersion = 0數據版本號,每當數據發生編號,版本號遞增1

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 5數據大小

numChildren = 0子節點個數

get /zk01

set更新節點數據指令(執行後mtimedataVersion可定會放生變化,dataLength可能會變化)

set /zk01 hellozk

delete刪除節點

delete /zk01

create指令補充:

1. 創建子節點

2. Zk節點分四種類型:分別是:

普通持久節點:

普通臨時節點:創建此臨時節點的客戶端失去和zk連接後,此節點消失.zk是通過臨時節點監控哪個服務器掛掉的。

順序持久節點:會根據用戶指定的節點路徑,自動分配一個遞增的順序號。(順序節點實現分布式鎖的效果,服務器1搶到zk05分配zk050001,服務器2搶到zk05分配zk050002

順序臨時節點:

1. create /zk01/node01 hello

2.

2.1create /zk01 hello

2.2. create –e /zk02 abc
2.3.create –s /zk03 abc

2.4.create –s -e /zk05 abcd

zk050000000003

再創建一個就是:

zk050000000004

Zookeeper之入門(原理、基礎知識)