zoukankan      html  css  js  c++  java
  • centos7 docker 安装 zookeeper 3.4.13 集群

    假设三台主机的ip分别为:

    • 主机一:192.168.0.168
    • 主机二:192.168.0.169
    • 主机三:192.168.0.170

    三台主机的安装步骤相似,以主机一为例:

    1. 查找zookeeper镜像:

    docker search zookeeper

    4. 下载官方zookeeper镜像:

    docker pull docker.io/zookeeper:3.4.13

    5. 下载完后可检查镜像:

    docker images

    6. 在三台主机上建立挂载目录和zookeeper配置文件:

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

    三台主机上的zoo.cfg配置信息如下:

    复制代码
    clientPort=2181
    dataDir=/data
    dataLogDir=/data/log
    tickTime=2000
    initLimit=5
    syncLimit=2
    autopurge.snapRetainCount=3
    autopurge.purgeInterval=0
    maxClientCnxns=60
    server.0=192.168.0.168:2888:3888
    server.1=192.168.0.169:2888:3888
    server.2=192.168.0.170:2888:3888
    复制代码

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

    cd /usr/local/zookeeper/data
    touch myid
    echo 0 > myid

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

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

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

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

    7. 三台主机依次启动容器:

    docker run --privileged=true --network host -v /usr/local/zookeeper/data:/data -v /usr/local/zookeeper/conf:/conf --name zookeeper2181 -d docker.io/zookeeper:3.4.13

    命令说明:

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

    都启动完成后,每台主机的2181/2888/3888端口都会开放出来了

    8. 检查容器的启动情况:

    docker exec -it zookeeper2181 /bin/bash

    进入容器内部后,其工作目录为:/zookeeper-3.4.13(版本依据镜像而定),执行zookeeper检查:

    复制代码

    [root@hserver2 data]# docker exec -it zookeeper2181 /bin/bash
    bash-4.4# pwd
    /zookeeper-3.4.13
    bash-4.4# zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /conf/zoo.cfg
    Mode: leader
    bash-4.4#

    复制代码

    可以看到这个容器目前为leader状态,至此集群已启动完成。

    9. 若启动失败了,通过如下命令观察zookeeper的启动日志:

    docker logs zookeeper2181

    内容示例如下:

    [root@hserver2 data]# docker logs zookeeper2181
    ZooKeeper JMX enabled by default
    Using config: /conf/zoo.cfg
    log4j:WARN No appenders could be found for logger (org.apache.zookeeper.server.quorum.QuorumPeerConfig).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/xiaohanlin/p/10124674.html
Copyright © 2011-2022 走看看