Docker 部署 ZooKeeper

一、下载ZooKeeper

下载地址:https://zookeeper.apache.org/releases.html

这里我下载最新的3.6.2版本

二、部署

ZooKeeper有三种部署方式单机模式、伪集群模式、集群模式

为了保证节点挂掉时能正常的选举出Leader需要部署2n+1个节点

我使用两台虚拟机做测试,其中一台部署两个节点,另一台部署一个节点

2.1 将下载好的文件包放到/opt/apps/zookeeper文件夹中并解压缩,有教程说要配置环境变量方便命令操作,此处我不进行配置

2.2 为每个节点分配myid,该文件需要创建在zookeeper的dataDir目录下

echo "1" > /opt/apps/zookeeper/apache-zookeeper-3.6.2-bin/myid

改用docker部署

docker部署zookeeper 参照教程:https://www.cnblogs.com/LUA123/p/11428113.html

2.1 宿主机创建数据文件目录与配置文件目录

192.168.6.231 宿主机 

   节点1 :/opt/docker/zookeeper/1/conf

                /opt/docker/zookeeper/1/data

   节点2 :/opt/docker/zookeeper/2/conf

                /opt/docker/zookeeper/2/data

192.168.6.232 宿主机

   节点3 :/opt/docker/zookeeper/3/conf

                /opt/docker/zookeeper/3/data

2.2 在conf文件夹中创建配置文件

配置文件名:zoo.cfg

节点1:
clientPort=2181
dataDir=/data
dataLogDir=/data/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.1=192.168.6.231:2888:3888
server.2=192.168.6.231:2889:3889
server.3=192.168.6.232:2888:3888
节点2:
clientPort=2182
dataDir=/data
dataLogDir=/data/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.1=192.168.6.231:2888:3888
server.2=192.168.6.231:2889:3889
server.3=192.168.6.232:2888:3888
节点3:
clientPort=2181
dataDir=/data
dataLogDir=/data/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.1=192.168.6.231:2888:3888
server.2=192.168.6.231:2889:3889
server.3=192.168.6.232:2888:3888

2.3 在data文件夹中创建id文件

echo 1 > /opt/docker/zookeeper/1/data/myid

echo 2 > /opt/docker/zookeeper/2/data/myid

echo 3 > /opt/docker/zookeeper/3/data/myid

 

2.4 下载docker镜像

一台服务器报错了:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

用以下两条命令重启了下好了

systemctl daemon-reload

systemctl restart docker.service

获取镜像 docker pull zookeeper

创建容器

docker run  --network host -v /opt/docker/zookeeper/1/data:/data -v /opt/docker/zookeeper/1/conf:/conf --name zookeeper-2181 -d zookeeper
docker run  --network host -v /opt/docker/zookeeper/2/data:/data -v /opt/docker/zookeeper/2/conf:/conf --name zookeeper-2182 -d zookeeper
docker run  --network host -v /opt/docker/zookeeper/3/data:/data -v /opt/docker/zookeeper/3/conf:/conf --name zookeeper-2181 -d zookeeper

防火墙开放端口

firewall-cmd --permanent --add-port=2181/tcp --permanent
firewall-cmd --permanent --add-port=2182/tcp --permanent
firewall-cmd --permanent --add-port=2888/tcp --permanent
firewall-cmd --permanent --add-port=3888/tcp --permanent
firewall-cmd --permanent --add-port=2889/tcp --permanent
firewall-cmd --permanent --add-port=3889/tcp --permanent

重启防火墙

firewall-cmd --reload

查看端口监听,一切正常

使用zkui监控服务 发现四字命令不在白名单

修改zoo.cnf 添加允许四字命令配置

4lw.commands.whitelist=*

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值