Docker 部署zookeeper3.4

 一、服务器规划

主机 IP 端口
node-10 172.16.10.10 2181,2888,3888
node-11 172.16.10.11 2181,2888,3888
node-12 172.16.10.12 2181,2888,3888

 二、集群部署

注:以下步骤需要分别在三台主机操作

2.1 镜像下载

[root@node-10 ~]# docker pull zookeeper:3.4

 官方镜像:https://hub.docker.com/_/zookeeper

 2.2 安装部署

  ## 创建宿主机映射目录

[root@node-10 ~]# mkdir /opt/zookeeper/{conf,data,logs} -p

 ## 创建配置文件

三台zk节点配置文件一样,直接复制就行

[root@node-10 ~]# vim /opt/zookeeper/conf/zoo.cfg
clientPort=2181  
dataDir=/data    #数据存储
dataLogDir=/datalog  #日志
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.1=172.16.10.10:2888:3888
server.2=172.16.10.11:2888:3888
server.3=172.16.10.12:2888:3888

参数解释:

  2181:对cline端提供服务
  3888:选举leader使用
  2888:集群内机器通讯使用(Leader监听此端口)
  server.1: 1为一个数字,表示zk的id,这个id也是dataDir目录下myid文件的内容。

##  配置zookeeper主机id,每个机器id不能相同,需要对应配置文件中server后面的值

[root@node-10 ~]# echo "1" > /opt/zookeeper/data/myid
[root@node-11 ~]# echo "2" > /opt/zookeeper/data/myid
[root@node-12 ~]# echo "3" > /opt/zookeeper/data/myid

 2.3 启动

[root@node-10 ~]# docker run --network host --restart=always \
 -v /opt/zookeeper/data:/data \
 -v /opt/zookeeper/conf:/conf \
 -v /opt/zookeeper/logs:/datalog \
 --name zookeeper -d zookeeper:3.4

参数解释:

  /opt/zookeeper/data:/data  #数据目录

  /opt/zookeeper/conf:/conf  #配置文件

  /opt/zookeeper/logs:/datalog  #日志目录

 注:容器网络采用的是host模式,因此不需要再进行端口映射,三台机器上zk部署,基本类似,只有myid每个机器需要有唯一值

2.4 检查集群状态

[root@node-10 ~]# docker exec -it zookeeper /bin/bash
root@node-10:/zookeeper-3.4.14# cd bin/
root@node-10:/zookeeper-3.4.14/bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower

可以看到该节点为从节点,通过查看其它节点,可以看到11服务器为leader节点

[root@node-11 ~]# docker exec -it zookeeper /bin/bash
root@node-11:/zookeeper-3.4.14# cd bin
root@node-11:/zookeeper-3.4.14/bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader

以上为docker部署zookeeper集群的过程,关于配置参数,需要根据自己的业务需求灵活调整。

 

posted @ 2020-03-03 09:59  小哥boy  阅读(2188)  评论(1编辑  收藏  举报