【Zookeeper】Re01 安裝與操作
阿新 • • 發佈:2021-10-24
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]