美文网首页
Docker搭建zookeeper集群

Docker搭建zookeeper集群

作者: 起风时说再见 | 来源:发表于2019-08-14 16:17 被阅读0次

    前言

    假设有三台主机的,ip分别为:
    主机一:192.168.1.76
    主机二:192.168.1.35
    主机三:192.168.1.82
    三台主机的安装步骤相似,以主机一为例:

    拉取官方zookeeper镜像:

    docker pull zookeeper:3.5
    

    建立挂载目录

    mkdir -p /usr/local/docker/zookeeper/conf
    mkdir -p /usr/local/docker/zookeeper/data
    cd /usr/local/docker/zookeeper/conf
    touch zoo.cfg
    vi zoo.cfg
    

    三台主机的配置文件zoo.cfg的内容如下:

    clientPort=2181
    dataDir=/data
    dataLogDir=/datalog
    tickTime=2000
    initLimit=5
    syncLimit=2
    autopurge.snapRetainCount=3
    autopurge.purgeInterval=0
    maxClientCnxns=60
    standaloneEnabled=true
    server.1=192.168.1.76:2888:3888
    server.2=192.168.1.35:2888:3888
    server.3=192.168.1.82:2888:3888
    

    在主机一上为自己分配server id,命令如下:

    cd /usr/local/docker/zookeeper/data
    touch myid
    echo 1 > myid
    

    在主机二上为自己分配server id,命令如下:

    cd /usr/local/docker/zookeeper/data
    touch myid
    echo 2 > myid
    

    在主机三上为自己分配server id,命令如下:

    cd /usr/local/docker/zookeeper/data
    touch myid
    echo 3 > myid
    

    启动容器

    docker run --privileged=true --network=host -v /usr/local/docker/zookeeper/data:/data -v /usr/local/docker/zookeeper/conf:/conf --name=zookeeper -d zookeeper:3.5
    

    命令参数说明

    • --network=host: 使用主机上的网络配置,如果不用这种模式,而用默认的bridge模式,会导致容器跨主机间通信失败
    • -v /usr/local/docker/zookeeper/data:/data:主机的数据目录挂载到容器/data下
    • -v /usr/local/docker/zookeeper/conf:/conf: 主机的配置目录挂载到容器的/conf下,容器内的zkServer.sh默认会读取/conf/zoo.cfg下的配置

    相关文章

      网友评论

          本文标题:Docker搭建zookeeper集群

          本文链接:https://www.haomeiwen.com/subject/lwzgjctx.html