使用Docker官方镜像搭建ZooKeeper集群

 使用Docker官方镜像搭建ZooKeeper集群

 

 参考:

 https://segmentfault.com/a/1190000006907443

 

 使用hub.docker.com上zookeeper官方镜像

 docker pull zookeeper

 

 docker run --rm=true --name my_zookeeper zookeeper:latest

 

 官方使用的openJDK

 java.home=/usr/lib/jvm/java-1.8-openjdk/jre

 

 使用 docker-compose 来启动 ZK 集群

 docker-compose.yml 

 

version: '2'

services:

    zoo1:

        image: zookeeper

        restart: always

        container_name: 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

        container_name: 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

        container_name: 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

 

 

 启动集群 -d 以后台方式运行

 COMPOSE_PROJECT_NAME=zk_test docker-compose up -d

 COMPOSE_PROJECT_NAME=zk_test 为 compose 工程起一个名字, 以免与其他的 compose 混淆.

 

使用 Docker 命令行客户端连接 ZK 集群

通过 docker-compose ps 命令, 我们知道启动的 ZK 集群的三个主机名分别是 zoo1, zoo2, zoo3, 因此我们分别 link 它们即可:

docker run -it --rm \

        --link zoo1:zk1 \

        --link zoo2:zk2 \

        --link zoo3:zk3 \

        --net zktest_default \

        zookeeper zkCli.sh -server zk1:2181,zk2:2181,zk3:2181

        

        

查看集群状态:

echo stat | nc localhost 2181

echo stat | nc localhost 2182

echo stat | nc localhost 2183

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值