本筆記為zookeeper單機(jī)多實(shí)例配置參考
基礎(chǔ)安裝配置請(qǐng)參考 zookeeper 單機(jī)運(yùn)行配置
查看端口是否可用
本筆記使用 2181 - 2183,2000 - 2003,3000 -3003 這9個(gè)端口馏艾。如果你的機(jī)器上這些端口被占用,你可以使用其他端口写穴,只需要修改相應(yīng)的配置即可。
查看端口使用狀態(tài)參考命令
netstat -ano | grep 2181
netstat -ano | grep 2000
netstat -ano | grep 3000
...
配置分布式信息
cd /usr/local/zookeeper
vim conf/zoo.cfg
新增如下配置
#如果是非單機(jī)多實(shí)例掌栅,把IP地址改為實(shí)際服務(wù)器IP即可
server.1=127.0.0.1:2000:3000
server.2=127.0.0.1:2001:3001
server.3=127.0.0.1:2002:3002
復(fù)制多份配置文件嗡髓,參考命令:
cp conf/zoo.cfg conf/zoo-slave1.cfg
cp conf/zoo.cfg conf/zoo-slave2.cfg
分別修改 zoo-slave1.cfg 和 zoo-slave2.cfg 配置文件本涕,修改地方分別有:
- clientPort (參考值:分別修改為2182 和 2183)
- dataDir (參考值:分別修改為/tmp/zookeeper/data/slave1 和 /tmp/zookeeper/data/slave2)
- dataLogDir (參考值:分別修改為 /tmp/zookeeper/log/slave1 和 /tmp/zookeeper/log/slave2)
檢查以上配置目錄是否存在业汰,以及權(quán)限是否正確,如正確菩颖,則配置完成样漆。
分配運(yùn)行時(shí)ID
如上,我們配置了三個(gè)不同的 zookeeper 實(shí)例晦闰,但是如何區(qū)分它們呢放祟,這就需要一個(gè)運(yùn)行時(shí)ID。
參考命令:
echo "1" /tmp/zookeeper/data/myid
echo "2" /tmp/zookeeper/data/slave1/myid
echo "3" /tmp/zookeeper/data/slave2/myid
運(yùn)行zookeeper
參考命令
bin/zkServer.sh start conf/zoo.cfg
bin/zkServer.sh start conf/zoo-slave1.cfg
bin/zkServer.sh start conf/zoo-slave2.cfg
查看zookeeper運(yùn)行狀態(tài)
參考命令
bin/zkServer.sh status conf/zoo.cfg
bin/zkServer.sh status conf/zoo-slave1.cfg
bin/zkServer.sh status conf/zoo-slave2.cfg
可以看到呻右,其中一個(gè)zookeeper進(jìn)程的運(yùn)行模式為Mode:leader
另外兩個(gè)zookeeper進(jìn)程的運(yùn)行模式為Mode:follower
至此跪妥,zookeeper完成集群配置