1. 程式人生 > 實用技巧 >Zookeeper - 1 概述&命令

Zookeeper - 1 概述&命令

Zookeeper 概述&命令

1)初識 Zookeeper

1.1)Zookeeper概念

•Zookeeper 是 Apache Hadoop 專案下的一個子專案,是一個樹形目錄服務。

•Zookeeper 翻譯過來就是 動物園管理員,他是用來管 Hadoop(大象)、Hive(蜜蜂)、Pig(小 豬)的管理員。簡稱zk

•Zookeeper 是一個分散式的、開源的分散式應用程式的協調服務。

•Zookeeper 提供的主要功能包括:

•配置管理

•分散式鎖

•叢集管理

2)ZooKeeper 安裝與配置

2.1) 下載安裝

2.1.1、環境準備

ZooKeeper伺服器是用Java建立的,它執行在JVM之上。需要安裝JDK 7或更高版本。

2.1.2、上傳

將下載的ZooKeeper放到/opt/ZooKeeper目錄下

 #上傳zookeeper alt+p put f:/setup/apache-zookeeper-3.5.6-bin.tar.gz #開啟 opt目錄 cd /opt #建立zooKeeper目錄 mkdir  zooKeeper #將zookeeper安裝包移動到 /opt/zooKeeper mv apache-zookeeper-3.5.6-bin.tar.gz /opt/zookeeper/

2.1.3、解壓

將tar包解壓到/opt/zookeeper目錄下

 tar -zxvf apache-ZooKeeper-3.5.6-bin.tar.gz 

2.2) 配置啟動

2.2.1、配置zoo.cfg

進入到conf目錄拷貝一個zoo_sample.cfg並完成配置

 #進入到conf目錄 cd /opt/zooKeeper/apache-zooKeeper-3.5.6-bin/conf/ #拷貝 cp  zoo_sample.cfg  zoo.cfg

修改zoo.cfg

 #開啟目錄 cd /opt/zooKeeper/ #建立zooKeeper儲存目錄 mkdir  zkdata #修改zoo.cfg vim /opt/zooKeeper/apache-zooKeeper-3.5.6-bin/conf/zoo.cfg

修改儲存目錄:dataDir=/opt/zookeeper/zkdata

2.2.2、啟動ZooKeeper

 cd /opt/zooKeeper/apache-zooKeeper-3.5.6-bin/bin/ #啟動  ./zkServer.sh  start

看到上圖表示ZooKeeper成功啟動

3、檢視ZooKeeper狀態

 ./zkServer.sh status

zookeeper啟動成功。standalone代表zk沒有搭建叢集,現在是單節點

zookeeper沒有啟動

###

3)ZooKeeper 命令操作

3.1)Zookeeper命令操作資料模型

•ZooKeeper 是一個樹形目錄服務,其資料模型和Unix的檔案系統目錄樹很類似,擁有一個層次化結構。

•這裡面的每一個節點都被稱為: ZNode,每個節點上都會儲存自己的資料和節點資訊。

• 節點可以擁有子節點,同時也允許少量(1MB)資料儲存在該節點之下。

•節點可以分為四大類:

•PERSISTENT 持久化節點

•EPHEMERAL 臨時節點 :-e

•PERSISTENT_SEQUENTIAL 持久化順序節點 :-s

•EPHEMERAL_SEQUENTIAL 臨時順序節點 :-es

3.2)Zookeeper命令操作服務端命令

•啟動 ZooKeeper 服務: ./zkServer.sh start

•檢視 ZooKeeper 服務狀態: ./zkServer.sh status

•停止 ZooKeeper 服務: ./zkServer.sh stop

•重啟 ZooKeeper 服務: ./zkServer.sh restart

3.3)Zookeeper客戶端常用命令

•連線ZooKeeper服務端

 ./zkCli.sh –server ip:port

•斷開連線

 quit

•檢視命令幫助

 help

•顯示指定目錄下節點

 ls 目錄

•建立節點

 create /節點path value

•獲取節點值

 get /節點path

•設定節點值

 set /節點path value

•刪除單個節點

 delete /節點path

•刪除帶有子節點的節點

 deleteall /節點path

3.4)客戶端命令-建立臨時有序節點

•建立臨時節點

 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:當前節點的子節點個數