Docker部署zookeeper集羣

準備

  • 3臺機器安裝docker
HOST1: centos7.5 :172.16.217.135 zk1
HOST2: centos7.5 :172.16.217.136 zk2
HOST3: centos7.5 :172.16.217.137 zk3

先把防火牆開放三個端口

sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2888/tcp --permanent
sudo firewall-cmd --zone=public --add-port=3888/tcp --permanent
sudo firewall-cmd --reload
2181:對cline端提供服務
3888:選舉leader使用
2888:集羣內機器通訊使用(Leader監聽此端口)

檢查防火牆規則

firewall-cmd --list-all

防火牆的一些命令

//臨時關閉防火牆,重啓後會重新自動打開
systemctl restart firewalld
//檢查防火牆狀態
firewall-cmd --state
firewall-cmd --list-all
//Disable firewall
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
//Enable firewall
systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

分別安裝容器 並跟隨docker啓動

HOST1
docker run -d --restart=always  --net=host   --name=zookeeper1 zookeeper
HOST2
docker run -d --restart=always  --net=host   --name=zookeeper2 zookeeper
HOST3
docker run -d --restart=always  --net=host   --name=zookeeper3 zookeeper

編輯zoo.cfg 與 myid

我這裏是先編輯其中一個然後copy到容器裏面 三個容器 zoo.cfg是一樣的 文件是在/conf/下面

docker cp 文件 容器id:文件  //copy文件到容器
docker cp 容器id:文件 文件  //copy容器文件到宿主機
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
clientPort=2181
server.1=172.16.217.135:2888:3888
server.2=172.16.217.136:2888:3888
server.3=172.16.217.137:2888:3888

myid修改爲對應server後面的id

重啓
docker restart 容器id
查看日誌
docker logs -f 容器id

注意myid是否是正確就說明編輯的東西是否生效了日誌也有打印

觀察狀態

進入容器

docker exec -it 容器id bash
bin/zkServer.sh status

最後效果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章