zookeeper-基于docker安装

参考:https://www.jianshu.com/p/a71dbcfaf098

这里通过Docker Compose的方式安装伪集群模式:

拉取镜像
docker pull zookeeper

注意:拉取最新的zookeeper镜像,可能会有点儿问题,下面能看到,可以换成3.4.13版本。但这里还是先用最新版看下问题

创建docker-compose.yml配置文件
[root@localhost zookeeper]# vi docker-compose.yml 

version: '3.1'
services:
    zoo1:
        image: zookeeper
        restart: always
        hostname: zoo1
        ports:
            - 2181:2181
        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
        hostname: zoo2
        ports:
            - 2182:2181
        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
        hostname: zoo3
        ports:
            - 2183:2181
        environment:
            ZOO_MY_ID: 3
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
后台启动
[root@localhost zookeeper]# docker-compose up -d
Creating zookeeper_zoo3_1 ... done
Creating zookeeper_zoo1_1 ... done
Creating zookeeper_zoo2_1 ... done
[root@localhost zookeeper]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                  NAMES
3c91e3c588f9        zookeeper           "/docker-entrypoint.…"   6 seconds ago       Up 4 seconds        2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp   zookeeper_zoo1_1
0af7b9af48c0        zookeeper           "/docker-entrypoint.…"   6 seconds ago       Up 4 seconds        2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2182->2181/tcp   zookeeper_zoo2_1
4d004366f884        zookeeper           "/docker-entrypoint.…"   6 seconds ago       Up 4 seconds        2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2183->2181/tcp   zookeeper_zoo3_1

进入容器查看主从关系
[root@localhost zookeeper]# docker exec -it 3c91e3c588f9 /bin/bash
root@zoo1:/apache-zookeeper-3.5.6-bin# ls
LICENSE.txt  NOTICE.txt  README.md  README_packaging.txt  bin  conf  docs  lib
root@zoo1:/apache-zookeeper-3.5.6-bin# cd bin
root@zoo1:/apache-zookeeper-3.5.6-bin/bin# ls
README.txt  zkCleanup.sh  zkCli.cmd  zkCli.sh  zkEnv.cmd  zkEnv.sh  zkServer-initialize.sh  zkServer.cmd  zkServer.sh  zkTxnLogToolkit.cmd  zkTxnLogToolkit.sh
root@zoo1:/apache-zookeeper-3.5.6-bin/bin# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port not found in static config file. Looking in dynamic config file.
grep: : No such file or directory
Client port not found. Terminating.

这里就报出了问题,然后将镜像换成3.4.13版本

version: '3.1'
services:
    zoo1:
        image: zookeeper:3.4.13
        restart: always
        hostname: zoo1
        ports:
            - 2181:2181
        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:3.4.13
        restart: always
        hostname: zoo2
        ports:
            - 2182:2181
        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:3.4.13
        restart: always
        hostname: zoo3
        ports:
            - 2183:2181
        environment:
            ZOO_MY_ID: 3
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

[root@localhost zookeeper]# docker-compose up -d
Creating zookeeper_zoo1_1 ... done
Creating zookeeper_zoo3_1 ... done
Creating zookeeper_zoo2_1 ... done
[root@localhost zookeeper]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                        NAMES
28072c3a055e        zookeeper:3.4.13    "/docker-entrypoint.…"   30 seconds ago      Up 29 seconds       2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp   zookeeper_zoo1_1
9645c55b9ce7        zookeeper:3.4.13    "/docker-entrypoint.…"   30 seconds ago      Up 29 seconds       2888/tcp, 3888/tcp, 0.0.0.0:2183->2181/tcp   zookeeper_zoo3_1
b81f6fc68d5a        zookeeper:3.4.13    "/docker-entrypoint.…"   30 seconds ago      Up 29 seconds       2888/tcp, 3888/tcp, 0.0.0.0:2182->2181/tcp   zookeeper_zoo2_1
[root@localhost zookeeper]# docker exec -it 28072c3a055e /bin/bash
bash-4.4# ls
LICENSE.txt                bin                        dist-maven                 lib                        zookeeper-3.4.13.jar.asc
NOTICE.txt                 build.xml                  docs                       recipes                    zookeeper-3.4.13.jar.md5
README.md                  conf                       ivy.xml                    src                        zookeeper-3.4.13.jar.sha1
README_packaging.txt       contrib                    ivysettings.xml            zookeeper-3.4.13.jar
bash-4.4# cd bin
bash-4.4# ls
README.txt           zkCli.cmd            zkEnv.cmd            zkServer.cmd         zkTxnLogToolkit.cmd
zkCleanup.sh         zkCli.sh             zkEnv.sh             zkServer.sh          zkTxnLogToolkit.sh
bash-4.4# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower

发现启动没有问题,说明安装成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值