美文网首页
在Docker中启动zookeeper模拟集群

在Docker中启动zookeeper模拟集群

作者: pjqdyd | 来源:发表于2019-03-09 00:41 被阅读0次

    这里我们将会使用docker-componse来启动3个zookeeper容器;

    1.先下载好zookeeper的镜像docker pull zookeeper.

    2.创建一个目录,在该目录下新建docker-componse.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
    

    其中:
    2181端口号是客户端连接zookeeper集群监听的端口号,
    3888是选举leader使用的端口号,
    2888是集群内通讯使用,leader和follower之间数据同步使用的端口号,leader监听此端口号.

    3.在该目录下启动命令行,运行docker-componse up -d启动这三个容器:

    image.png

    4.运行docker ps查看启动的容器:

    image.png

    5.以交互式的方式进入某个容器exec -it zookeeper_zoo3_1 /bin/bash,
    并进入cd bin/目录,查看容器的状态./zkServer.sh status:

    image.png

    6.再进入cd /conf/目录,运行cat zoo.cfg查看zookpeeper容器的配置信息:

    image.png
    其中:
    clientPort就是zookeeper服务端监听客户端的端口,
    dataDir目录是数据存放的目录,并且在/data下的myid文件中定义了zookeeper服务的id编号, 也就是server.id

    相关文章

      网友评论

          本文标题:在Docker中启动zookeeper模拟集群

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