• 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集群的过程,关于配置参数,需要根据自己的业务需求灵活调整。

  • 相关阅读:
    学习Java书籍推荐和面试网站推荐
    Java 多线程学习扩展
    Java Excel 导入导出(二)
    Java Excel 导入导出(一)
    Matplotlib库(二)
    Matplotlib库(一)
    【转】MATLAB导出精美的论文插图
    图像的手绘效果
    Numpy库的使用(二)
    Numpy库的使用(一)
  • 原文地址:https://www.cnblogs.com/tchua/p/12400749.html
Copyright © 2020-2023  润新知