一、Zookeeper概念
Zookeeper 是 Apache Hadoop 項目下的一個子項目,是一個樹形目錄服務。
Zookeeper 翻譯過來就是 動物園管理員,他是用來管 Hadoop(大象)、Hive(蜜蜂)、Pig(小 豬)的管理員。簡稱zk 。
Zookeeper 是一個分佈式的、開源的分佈式應用程序的協調服務。
Zookeeper 提供的主要功能包括:
配置管理
分佈式鎖
集羣管理
二、Zookeeper命令操作數據模型
ZooKeeper 是一個樹形目錄服務,其數據模型和Unix的文件系統目錄樹很類似,擁有一個層次化結構。
•這裏面的每一個節點都被稱爲: ZNode,每個節點上都會保存自己的數據和節點信息。
• 節點可以擁有子節點,同時也允許少量(1MB)數據存儲在該節點之下。
•節點可以分爲四大類:
•PERSISTENT 持久化節點(默認)
•EPHEMERAL 臨時節點 :-e
•PERSISTENT_SEQUENTIAL 持久化順序節點 :-s
•EPHEMERAL_SEQUENTIAL 臨時順序節點 :-es
二、zookeeper的服務器和客戶端的操作命令
1、服務端啓動/停止/重啓
cd /opt/zooKeeper/apache-zooKeeper-3.5.6-bin/bin/
#啓動 ./zkServer.sh start #查看ZooKeeper狀態 ./zkServer.sh status #重啓 ./zkServer.sh restart #停止 ./zkServer.sh stop
2、客戶端連接
./zkCli.sh –server ip:port
不加ip:port表示連接本地的zookeeper。
斷開連接
quit
查看命令幫助
help
3、對節點的操作
顯示指定目錄下節點
ls 目錄
#根節點
ls /
#其他節點
ls /mynode1
•創建節點
create /節點path value
create /mynode1 muxuevaluessddd
create /mynode2 'this is my values.'
value可不寫。若有空格,請用單引號。
•獲取節點值
get /節點path
get /mynode1
•設置節點值
set /節點path value
若已設置過,則覆蓋原有的值。
•刪除單個節點
delete /節點path
若有子節點,則無法刪除。
•刪除帶有子節點的節點
deleteall /節點path
•創建臨時節點
create -e /節點path value
•創建順序節點
create -s /節點path value
•查詢節點詳細信息
ls –s /節點path
•czxid:節點被創建的事務ID
•ctime: 創建時間
•mzxid: 最後一次被更新的事務ID
•mtime: 修改時間
•pzxid:子節點列表最後一次被更新的事務ID
•cversion:子節點的版本號
•dataversion:數據版本號
•aclversion:權限版本號
•ephemeralOwner:用於臨時節點,代表臨時節點的事務ID,如果爲持久節點則爲0
•dataLength:節點存儲的數據的長度
•numChildren:當前節點的子節點個數