Zookeeper安裝和使用

Zookeeper安裝

wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz

tar zxvf zookeeper-3.3.6.tar.gz

mv zookeeper-3.3.6 /usr/local/zookeeper-3.3.6-2181

cd /usr/local/zookeeper-3.3.6-2181

cp conf/zoo_sample.cfg conf/zoo.cfg

單實例配置

vi conf/zoo.cfg

#心跳時間

tickTime=2000

initLimit=10

syncLimit=5

#數據保存目錄

dataDir=/data/zhanglin/logistics/zookeeper-3.3.6

#客戶端連接端口

clientPort=2181

集羣配置

 修改配置文件

vi conf/zoo.cfg

tickTime=2000

#連接leader的等待的最長時間(秒)

initLimit=10

#標識 Leader 與 Follower 之間發送消息,請求和應答時間最長時間

syncLimit=5

dataDir=/data/zhanglin/logistics/zookeeper-3.3.6

clientPort=2181

#server.A=B:C:D
 A 是一個數字,表示這個是第幾號服務器;
 B 是這個服務器的 ip 地址;
 C 表示的是這個服務器與集羣中的 Leader 服務器交換信息的端口;
 D 執行選舉時服務器相互通信的端口。
 表示的是萬一集羣中的 #Leader 服務器掛了,需要一個端口來重新進行選舉,選出一個新的 Leader,而這個端口就是用來執行選舉時服務器相互通信的端口。如果是僞集羣的配置方式,由於 B 都是一樣,所以不同的 #Zookeeper 實例通信端口號不能一樣,所以要給它們分配不同的端口號。

server.1=10.0.30.138:2555:3555

server.2=10.0.30.139:2555:3555

增加myid文件

並在data目錄下放置myid文件:(上面zoo.cfg中的dataDir)

mkdir data

vi myid

myid指明自己的id,對應上面zoo.cfg中server.後的數字,第一臺的內容爲1,第二臺的內容爲2,內容如下:

myid

1

1
這裏寫圖片描述
2
這裏寫圖片描述
3
這裏寫圖片描述

優化Zookeeper

 增加內存

zkEnv.sh

zkEnv.sh

#在文件底部增加

export JVMFLAGS="-Xms1024m -Xmx2048m $JVMFLAGS"

查詢內存大小

ps -ef|grep zookeeper

#查詢pid

jmap --heap  pid 

服務命令

1. 啓動ZK服務:       sh bin/zkServer.sh start
2. 查看ZK服務狀態: sh bin/zkServer.sh status
3. 停止ZK服務:       sh bin/zkServer.sh stop
4. 重啓ZK服務:       sh bin/zkServer.sh restart 

客戶端命令

1. 顯示根目錄下、文件: ls / 使用 ls 命令來查看當前 ZooKeeper 中所包含的內容
2. 顯示根目錄下、文件: ls2 / 查看當前節點數據並能看到更新次數等數據
3. 創建文件,並設置初始內容: create /zk "test" 創建一個新的 znode節點“ zk ”以及與它關聯的字符串
4. 獲取文件內容: get /zk 確認 znode 是否包含我們所創建的字符串
5. 修改文件內容: set /zk "zkbak" 對 zk 所關聯的字符串進行設置
6. 刪除文件: delete /zk 將剛纔創建的 znode 刪除
7. 退出客戶端: quit
8. 幫助命令: help 
1. 可以通過命令:echo stat|nc 127.0.0.1 2181 來查看哪個節點被選擇作爲follower或者leader
2. 使用echo ruok|nc 127.0.0.1 2181 測試是否啓動了該Server,若回覆imok表示已經啓動。
3. echo dump| nc 127.0.0.1 2181 ,列出未經處理的會話和臨時節點。
4. echo kill | nc 127.0.0.1 2181 ,關掉server
5. echo conf | nc 127.0.0.1 2181 ,輸出相關服務配置的詳細信息。
6. echo cons | nc 127.0.0.1 2181 ,列出所有連接到服務器的客戶端的完全的連接 / 會話的詳細信息。
7. echo envi |nc 127.0.0.1 2181 ,輸出關於服務環境的詳細信息(區別於 conf 命令)。
8. echo reqs | nc 127.0.0.1 2181 ,列出未經處理的請求。
9. echo wchs | nc 127.0.0.1 2181 ,列出服務器 watch 的詳細信息。
10. echo wchc | nc 127.0.0.1 2181 ,通過 session 列出服務器 watch 的詳細信息,它的輸出是一個與 watch 相關的會話的列表。
11. echo wchp | nc 127.0.0.1 2181 ,通過路徑列出服務器 watch 的詳細信息。它輸出一個與 session 相關的路徑。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章