1. 程式人生 > 其它 >【Zookeeper】Re01 安裝與操作

【Zookeeper】Re01 安裝與操作

Zookeeper基於JDK開發出來的

執行環境至少需要JRE

快速安裝JDK:

yum install -y java-1.8.0-openjdk-devel.x86_64 

# ZK映象倉庫

https://downloads.apache.org/zookeeper/

# 下載 *.bin.tar.gz包

wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

# 解壓包

tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz

# 將解壓出來的目錄複製到 /usr/local/下 (可選)

cp -r /root/apache-zookeeper-3.7.0-bin /usr/local/

# 將ZK備份的配置檔案複製一份重新命名為zoo.cfg

cp /usr/local/apache-zookeeper-3.7.0-bin/conf/zoo_sample.cfg /usr/local/apache-zookeeper-3.7.0-bin/conf/zoo.cfg

# 啟動ZK,停止ZK

/usr/local/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start
/usr/local/apache-zookeeper-3.7.0-bin/bin/zkServer.sh stop

# 檢視ZK狀態

/usr/local/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status

# 啟動ZK失敗,檢視日誌資訊

cat /usr/local/apache-zookeeper-3.7.0-bin/logs/zookeeper-root-server-localhost.localdomain.out

一般情況是8080端口占用,殺死該佔用程序就好了

netstat -lntp | grep 8080

kill -9 8080埠的程序號

伺服器基本操作命令:

# 啟動ZK,停止ZK 重啟ZK
/usr/local/apache-zookeeper-3.7
.0-bin/bin/zkServer.sh start /usr/local/apache-zookeeper-3.7.0-bin/bin/zkServer.sh stop /usr/local/apache-zookeeper-3.7.0-bin/bin/zkServer.sh restart # 檢視ZK狀態 /usr/local/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status

順便設定開機自啟動:

試了一下,並不會開啟。。。

vim /etc/rc.local
/usr/local/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start

登陸與退出 ZK

# 登陸ZK
/usr/local/apache-zookeeper-3.7.0-bin/bin/zkCli.sh -server localhost:2181

# 退出ZK
quit

展示根節點資訊:

[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 2]

ZK節點資訊:

[zk: localhost:2181(CONNECTED) 2] ls /zookeeper
[config, quota]
[zk: localhost:2181(CONNECTED) 3] 

建立節點(可連子節點)和資料

[zk: localhost:2181(CONNECTED) 3] create /sample aaa
Created /sample
[zk: localhost:2181(CONNECTED) 4] create /sample2
Created /sample2
[zk: localhost:2181(CONNECTED) 5]

# 建立臨時節點

create -e /tempNode

# 建立持久化順序節點

create -s /persistSortNode

# 建立臨時順序節點

create -s /tempSortNode

對已經存在的節點設定資料

[zk: localhost:2181(CONNECTED) 5] set /sample bbb
[zk: localhost:2181(CONNECTED) 6]

獲取節點上的資料,無資料則返回NULL

[zk: localhost:2181(CONNECTED) 7] get /sample
bbb

刪除節點(該節點包含後代節點則不能刪除)

[zk: localhost:2181(CONNECTED) 20] delete /sample
[zk: localhost:2181(CONNECTED) 21] 

刪除節點(包括後代節點一併刪除)

[zk: localhost:2181(CONNECTED) 20] deleteall /sample
[zk: localhost:2181(CONNECTED) 21] 

建立順序的持久化節點:

會自動在後面補上連號

[zk: localhost:2181(CONNECTED) 9] create -s /sequenNode
Created /sequenNode0000000002
[zk: localhost:2181(CONNECTED) 10] create -s /sequenNode
Created /sequenNode0000000003
[zk: localhost:2181(CONNECTED) 11] create -s /sequenNode
Created /sequenNode0000000004
[zk: localhost:2181(CONNECTED) 12] create -s /sequenNode
Created /sequenNode0000000005
[zk: localhost:2181(CONNECTED) 13] create -s /sequenNode
Created /sequenNode0000000006
[zk: localhost:2181(CONNECTED) 14] create -s /sequenNode
Created /sequenNode0000000007
[zk: localhost:2181(CONNECTED) 15] create -s /sequenNode
Created /sequenNode0000000008
[zk: localhost:2181(CONNECTED) 16] create -s /sequenNode
Created /sequenNode0000000009

展示節點的詳細資訊:

[zk: localhost:2181(CONNECTED) 22] ls -s /
[sample2, sequenNode0000000002, sequenNode0000000003, sequenNode0000000004, sequenNode0000000005, sequenNode0000000006, sequenNode0000000007, sequenNode0000000008, sequenNode0000000009, zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0xe
cversion = 10
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 10
[zk: localhost:2181(CONNECTED) 23]