關(guān)于zookeeper的簡介大家可以參考一下這篇文章:https://www.cnblogs.com/felixzh/p/5869212.html 里面寫得很好很清楚,加上本篇文章主要主題還是安裝书妻,所以這里就省略了
一盖腿、環(huán)境
操作系統(tǒng):CentOS 7
ZookKeeper:ZookKeeper 3.4.14
二褪测、安裝配置步驟
1、下載
進入官網(wǎng)http://www.apache.org/dyn/closer.cgi/zookeeper/,選擇鏡像
然后選擇當前最新的版本
點擊下載到本機然后上傳到服務器,當然也記下這個文件的鏈接地址蒸苇,然后在服務器上用命令下載,這里直接復制鏈接地址然后上服務器上下載
# wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.14.tar.gz
2吮旅、解壓
# tar -zxvf zookeeper-3.4.14.tar.gz
然后就完成安裝操作了
三溪烤、基本使用
1、安裝目錄結(jié)構(gòu)說明
- bin目錄
zk的可執(zhí)行腳本目錄庇勃,包括zk服務進程檬嘀,zk客戶端,等腳本责嚷。其中鸳兽,.sh是Linux環(huán)境下的腳本,.cmd是Windows環(huán)境下的腳本罕拂。 - conf目錄
配置文件目錄贸铜。zoo_sample.cfg為樣例配置文件,需要修改為自己的名稱聂受,一般為zoo.cfg蒿秦。log4j.properties為日志配置文件。 - lib
zk依賴的包蛋济。 - contrib目錄
一些用于操作zk的工具包棍鳖。 - recipes目錄
zk某些用法的代碼示例
2、zookeeper啟動
啟動前碗旅,需要添加一個zoo.cfg的配置文件渡处,在Windows環(huán)境下,直接雙擊zkServer.cmd即可祟辟。在Linux環(huán)境下医瘫,進入bin目錄,執(zhí)行命令
#啟動前旧困,需要添加一個zoo.cfg的配置文件
cp zoo_sample.cfg zoo.cfg
#進入到zookeeper的bin目錄直接啟動
./zkServer.sh start &
#啟動的時候醇份,查看后臺信息
./zkServer.sh start-foreground &
#查看zookeeper 運行狀態(tài)
ps -ef |grep zookeeper
正常情況下啟動的界面
沒有復制配置文件的情況下啟動時報錯grep: /usr/local/zookeeper/zookeeper-3.4.14/bin/../conf/zoo.cfg: 沒有那個文件或目錄的界面
3、配置文件說明
需要將conf目錄下的吼具,conf目錄下提供了配置的樣例zoo_sample.cfg僚纷,要將zk運行起來,需要將其名稱修改為zoo.cfg拗盒。
- tickTime
時長單位為毫秒怖竭,為zk使用的基本時間度量單位。例如:
- tickTime是客戶端與zk服務端的心跳時間
- tickTime是客戶端會話的超時時間陡蝇。
- tickTime的默認值為2000毫秒痊臭,更低的tickTime值可以更快地發(fā)現(xiàn)超時問題哮肚,但也會導致更高的網(wǎng)絡(luò)流量(心跳消息)和更高的CPU使用率(會話的跟蹤處理)。
- clientPort
zk服務進程監(jiān)聽的TCP端口广匙,默認情況下绽左,服務端會監(jiān)聽2181端口。 - dataDir
無默認配置艇潭,必須配置拼窥,用于配置存儲快照文件的目錄。如果沒有配置 - dataLogDir 那么事務日志也會存儲在此目錄蹋凝。
- initLimit 用來配置客戶端初始化鲁纠,可以接受多少個心跳監(jiān)測
比如配置的是10 ,10*tickTime (2000默認)鳍寂,默認20s沒有連接上集群的配置改含,就不嘗試了,連接失敗 - syncLimit 用來配置Leader和follwer之間迄汛,允許多少個請求應答長度
比如默認配置是5捍壤、 5*tickTime (2000默認),表示默認10s鐘鞍爱,Leader和Follwer之間如果消息5次沒有發(fā)送成功就不嘗試了 - server.NUM=IP:port1:port2 (server.1=127.0.0.1:2222:2225)
NUM表示本機為第幾號服務器鹃觉;IP為本機ip地址;
port1為leader與follower通信端口睹逃;
port2為參與競選leader的通信端口
多個實例的端口配置不能重復
4盗扇、登錄到zookeeper
# ./zkCli.sh -server 127.0.0.1:2181
如果出現(xiàn)拒絕連接的錯誤,那么有可能是2181端口沒有開發(fā)
解決方法是在防火墻開放2181端口沉填,或者關(guān)閉防火墻
6疗隶、一些簡單的操作
#創(chuàng)建節(jié)點
create /test test1
#獲取節(jié)點數(shù)據(jù)
get /test
#更新節(jié)點
set /test test2
#刪除節(jié)點
delete /test
#遞歸刪除數(shù)據(jù),將子目錄的數(shù)據(jù)也刪除掉
rmr /test
#查看節(jié)點
ls /
#查看輸入過的命令
history
7翼闹、一些命令說明
命令 | 功能描述 |
---|---|
conf | 輸出相關(guān)服務配置的詳細信息 |
cons | 列出所有連接到服務器的客戶端的完全的連接 / 會話的詳細信息斑鼻。包括“接受 / 發(fā)送”的包數(shù)量、會話 id 猎荠、操作延遲坚弱、最后的操作執(zhí)行等等信息 |
dump | 列出未經(jīng)處理的會話和臨時節(jié)點 |
envi | 輸出關(guān)于服務環(huán)境的詳細信息(區(qū)別于 conf 命令) |
reqs | 列出未經(jīng)處理的請求 |
ruok | 測試服務是否處于正確狀態(tài)。如果確實如此法牲,那么服務返回“imok ”史汗,否則不做任何相應 |
stat | 輸出關(guān)于性能和連接的客戶端的列表 |
wchs | 列出服務器 watch 的詳細信息 |
wchc | 通過 session 列出服務器 watch 的詳細信息,它的輸出是一個與watch 相關(guān)的會話的列表 |
wchp | 通過路徑列出服務器 watch 的詳細信息拒垃。它輸出一個與 session相關(guān)的路徑 |
命令使用方法:
#查看配置信息
echo conf|en localhost 2181
#查看連接信息
echo cons|en 192.168.1.1 2181
參考:
https://blog.csdn.net/yelllowcong/article/details/76849946
https://www.cnblogs.com/felixzh/p/5869212.html