Zookeeper系列介紹(持續(xù)更新)
- Zookeeper基礎(chǔ)初探
- 一文了解Zookeeper數(shù)據(jù)節(jié)點(diǎn)-znode
- 一文了解Watcher
- Zookeeper分布式鎖實(shí)現(xiàn)
- Zookeeper部署模式
Zookeeper與大多數(shù)分布式軟件一樣,安裝模式一般分為:
- 單機(jī)部署:一般用來檢驗(yàn)Zookeeper基礎(chǔ)功能,熟悉ZK各種基礎(chǔ)操作及特性政恍;
- 偽集群部署:在單臺(tái)機(jī)器上部署集群渊抽,方便在本地驗(yàn)證集群模式下的各種功能雪标;
- 集群部署:一般在生產(chǎn)環(huán)境使用,具備一致性溉跃、分區(qū)容錯(cuò)性村刨;
下載鏈接:http://mirror.bit.edu.cn/apache/zookeeper/
本文以zookeeper-3.4.14為例介紹Windows環(huán)境下的三種安裝模式;
Zookeeper需要運(yùn)行在Java環(huán)境中撰茎,因此安裝ZK前首先需要保證Java環(huán)境運(yùn)行正常嵌牺;
1.單機(jī)部署
- 下載zookeeper-3.4.14.tar.gz,本地解壓龄糊;
- 在zookeeper-3.4.14/目錄下創(chuàng)建data文件夾和log文件夾逆粹;
- 將zookeeper-3.4.14/conf下的文件zoo_sample.cfg復(fù)制一份到當(dāng)前目錄下,重命名為zoo.cfg炫惩;
- 打開zoo.cfg僻弹,配置dataDir及dataLogDir選項(xiàng);
dataDir=...\\zookeeper\\zookeeper-3.4.14\\data
dataLogDir=...\\zookeeper\\zookeeper-3.4.14\\log
【...代表zookeeper解壓路徑】- 進(jìn)入/bin目錄下他嚷,打開cmd蹋绽,輸入命令zkServer.cmd,啟動(dòng)Zookeeper服務(wù)端筋蓖,出現(xiàn)以下畫面即為啟動(dòng)成功蟋字;
- 進(jìn)入/bin目錄下,打開cmd扭勉,輸入命令zkCli.cmd鹊奖,啟動(dòng)Zookeeper客戶端,進(jìn)行操作涂炎,以下為示例忠聚;
- 服務(wù)端啟動(dòng)不成功情況及解決辦法
- 解決方式:進(jìn)入/bin目錄下,編輯zkEnv.cmd文件唱捣,將set JAVA_HOME=%JAVA_HOME:"=%修改為set JAVA_HOME=C:\Program Files\Java\jre1.8.0_191(絕對路徑)
2.偽集群部署
- 將單機(jī)部署模式下配置好的zk文件夾復(fù)制三分两蟀,分別命名為zk1、zk2震缭、zk3赂毯,代表集群中的三個(gè)節(jié)點(diǎn);
- 分別修改zk1拣宰、zk2党涕、zk3下的/conf/zoo.cfg中的配置,修改如下(zk2巡社、zk3下的配置與zk1類似膛堤,不同之處在于:dataDir和dataLogDir的路徑、clientPort端口號):
server.num=ip/domain:port1:port2晌该,參數(shù)含義如下:
num:表示第幾號服務(wù)器肥荔;
ip/domain :服務(wù)器域名或者ip地址绿渣。
port1:當(dāng)前服務(wù)器和Leader服務(wù)器交換信息的端口;
port2:當(dāng)前Leader服務(wù)器宕機(jī)后燕耿,重新選舉Leader時(shí)服務(wù)器之間交換信息的端口中符;在zk1誉帅、zk2淀散、zk3的data文件夾下創(chuàng)建myid文件,文件中添加當(dāng)前服務(wù)器num堵第;
- 分別啟動(dòng)zk1吧凉、zk2、zk3下的zkServer.cmd踏志,啟動(dòng)過程中會(huì)報(bào)錯(cuò)阀捅,這是因?yàn)楫?dāng)前服務(wù)器節(jié)點(diǎn)發(fā)現(xiàn)其他節(jié)點(diǎn)不在線,等集群節(jié)點(diǎn)全部啟動(dòng)后就會(huì)顯示正常针余;【有一個(gè)節(jié)點(diǎn)會(huì)當(dāng)選為Leader節(jié)點(diǎn)】
集群演示
- 如果想在集群中擁有observer 角色饲鄙,則配置需要略微調(diào)整。假設(shè)zk3變?yōu)閛bserver角色圆雁,則zk1忍级、zk2、zk3的zoo.cfg修改如下:
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890:observer
另外伪朽,zk3的zoo.cfg需要添加一個(gè)配置:peerType=observer轴咱,以用來開啟observer;
集群模式
集群模式的安裝方式與偽集群模式基本一致烈涮,只是替換server.num的配置即可朴肺;