docker下 zookeeper集群

首先创建所需的文件夹

mkdir -p /data/{data1,data2,data3}
mkdir -p /data/{datalog1,datalog2,datalog3}

 

docker-compose 直接up

version: '2'
services:
    zoo1:
        image: zookeeper
        restart: always
        container_name: zoo1
        ports:
            - "2181:2181"
        volumes:
            - /data/data1:/data
            - /data/datalog1:/datalog
         #   - /conf:/conf             #此镜像的zoo.cfg配置文件可放置在/conf目录
        environment:
            ZOO_MY_ID: 1
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    zoo2:
        image: zookeeper
        restart: always
        container_name: zoo2
        ports:
            - "2182:2181"
        volumes:
            - /data/data2:/data
            - /data/datalog2:/datalog

        environment:
            ZOO_MY_ID: 2
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    zoo3:
        image: zookeeper
        restart: always
        container_name: zoo3
        ports:
            - "2183:2181"
        volumes:
            - /data/data3:/data
            - /data/datalog3:/datalog

        environment:
            ZOO_MY_ID: 3
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

 

测试

[root@master ~]# docker exec -it zoo2 zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
[root@master
~]# docker exec -it zoo3 zkServer.sh status ZooKeeper JMX enabled by default Using config: /conf/zoo.cfg Mode: leader
[root@master
~]# docker exec -it zoo1 zkServer.sh status ZooKeeper JMX enabled by default Using config: /conf/zoo.cfg Mode: follower

 

查看一下env

bash-4.4# env
ZOO_CONF_DIR=/conf
ZOO_SERVERS=server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
LANG=C.UTF-8
HOSTNAME=9b37651d8114
ZOOCFGDIR=/conf              #如果有自定义的zoo.cfg文件,可以在此处进行volume挂载
ZOO_AUTOPURGE_PURGEINTERVAL=0
ZOO_MAX_CLIENT_CNXNS=60
JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk/jre
ZOO_AUTOPURGE_SNAPRETAINCOUNT=3
JAVA_VERSION=8u171
PWD=/zookeeper-3.4.13/conf
HOME=/root
ZOO_SYNC_LIMIT=2
ZOO_DATA_DIR=/data
ZOO_DATA_LOG_DIR=/datalog
TERM=xterm
ZOO_PORT=2181
SHLVL=1
ZOO_TICK_TIME=2000
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin:/zookeeper-3.4.13/bin
JAVA_ALPINE_VERSION=8.171.11-r0
ZOO_USER=zookeeper
ZOO_INIT_LIMIT=5
ZOO_MY_ID=1
_=/usr/bin/env
OLDPWD=/zookeeper-3.4.13

 

posted @ 2018-09-03 21:42  FRESHMANS  阅读(365)  评论(1)    收藏  举报