• dockercompose搭建zookeeper集群


    1.拉取镜像

    docker pull zookeeper:3.4.11
    

    2.zookeeper集群搭建

    mkidr zk-cluster
    cd zk-cluster
    
    vim docker-compose.yml
    

    写入如下内容

    version: '2'
    services:
        zoo1:
            image: zookeeper:3.4.11
            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:3.4.11
            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:3.4.11
            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
    
    

    这个配置文件会告诉 Docker 分别运行三个 zookeeper 镜像, 并分别将本地的 2181, 2182, 2183 端口绑定到对应的容器的2181端口上(每个zookeeper容器的默认端口都是2181,这句话意思也就是说,将宿主机的2181、2182、2183这3个端口号,分别映射到3个zookeeper容器的2181端口)。
    ZOO_MY_ID 和 ZOO_SERVERS 是搭建 ZK 集群需要设置的两个环境变量,其中 ZOO_MY_ID 表示 ZK 服务的 id,它是1-255 之间的整数,必须在集群中唯一;ZOO_SERVERS 是ZK 集群的主机列表。

    3.运行

    接着我们在 docker-compose.yml 所在的目录下运行:

    COMPOSE_PROJECT_NAME=zk_cluster docker-compose up
    

    即可启动 ZK 集群了。

    注意:这种方式非后台运行,当执行 Ctrl + C 组合键的时候,所有的ZK容器都会停止运行。

    以后台方式运行docker-compose

    COMPOSE_PROJECT_NAME=zk_cluster docker-compose up -d
    

    4.查看启动的ZK集群

    执行上述命令成功后,接着新开启一个终端,然后在新终端界面中,首先进入zk-cluster目录,在该目录下运行以下命令可以查看启动的 ZK 容器:

    COMPOSE_PROJECT_NAME=zk_cluster docker-compose ps
    

    5.测试连接ZK集群

    通过上面的图,可以看到3个ZK容器的ID信息。

    这里我们先进入zoo1这个容器,查看ZK的信息,执行以下命令:

    docker exec -it zoo1 zkServer.sh status
    
    docker exec -it zoo2 zkServer.sh status
    
    docker exec -it zoo3 zkServer.sh status
    

  • 相关阅读:
    oracle 第12章 归档日志文件
    oracle 第09章 参数文件
    oracle 第11章 重做日志文件
    oracle 第10章 控制文件
    oracle 第14章 表空间管理
    linux yum源配置
    oracle 第08章 用户、权限、角色管理
    oracle 第07章 网络配置管理
    第二阶段冲刺-06
    第二阶段冲刺-05
  • 原文地址:https://www.cnblogs.com/ifme/p/16178830.html
Copyright © 2020-2023  润新知