下載zookeeper tar.gz的安裝包,將安裝包上傳到服務(wù)器指定目錄,解壓三份
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
解壓
tar -zxvf zookeeper-3.4.12-alpha.tar.gz
mv zookeeper-3.4.12 zookeeper
刪除 zookeeper 安裝包
rm -rf zookeeper-3.4.12.tar.gz
配置環(huán)境變量
# zookeeper
export ZK_HOME=/usr/local/zookeeper-3.4.11
export PATH=$ZK_HOME/bin:$PATH
配置文件
zookeeper根目錄中conf文件夾下的zoo_sample.cfg復制一份為zoo.cfg,
cp zoo_sample.cfg zoo.cfg
修改后zookeeper便可以識別到該文件
修改zoo.cfg配置文件
#發(fā)送心跳的間隔時間,單位:毫秒
tickTime=2000
#zookeeper保存數(shù)據(jù)的目錄
dataDir=/usr/local/zookeeper/data
#日志目錄
dataLogDir=/usr/local/zookeeper/dataLog
#端口
clientPort=2181
#leader和follower初始化連接時最長能忍受多少個心跳時間的間隔數(shù)
initLimit=5
#leader和follower之間發(fā)送消息,請求和英達時間長度,最長不能超過多少個tickTime的時間長度
syncLimit=2
#zookeeper機器列表,server.order這里的Order依據(jù)集群的機器個數(shù)依次進行遞增
server.1=192.168.192.128:2888:3888
server.2=192.168.192.129:2888:3888
server.3=192.168.192.130:2888:3888
新建myid文件
在server1機器中,在上面配置的data目錄下,新建一個名為 myid的文件,文件內(nèi)容填寫 1,對的,沒有聽錯,文件中只保留一個數(shù)字 1。zookeeper是根據(jù)該文件來決定zookeeper集群各個機器的身份分配。
將server2的myid內(nèi)容修改為2,將server3的myid內(nèi)容修改為3。對于不同的集群,根據(jù)需要進行修改,與配置文件中的order保持一致。
然后開啟防火墻
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
systemctl restart firewalld
啟動zookeeper服務(wù)
修改完成后,在每臺機器上依次使用bin/zkServer.sh start來啟動zookeeper服務(wù),待啟動完成后使用 bin/zkServer.sh status來查看該機器的身份是follower還是master
使用 bin/zkCli.sh來檢驗zookeeper是否可以連接成功,提示歡迎消息表示成功。
執(zhí)行 ./zkServer.sh status 查看當前 zookeeper 狀態(tài)。
或者運行 netstat -lntup 命令查看網(wǎng)絡(luò)狀態(tài),可以看到 zookeeper 的端口號 2181 已經(jīng)被占用
想要用客戶端連接,需要把2181端口打開(防火墻)