zoukankan      html  css  js  c++  java
  • docker-compose创建zookeeper集群

    1、获取zookeeper的镜像

    docker pull zookeeper

    当出现如下结果时, 表示镜像已经下载完成了: 

    >>> docker pull zookeeper
    Using default tag: latest
    latest: Pulling from library/zookeeper
    e110a4a17941: Pull complete
    a696cba1f6e8: Pull complete
    bc427bd93e95: Pull complete
    c72391ae24f6: Pull complete
    40ab409b6b34: Pull complete
    d4bb8183b85d: Pull complete
    0600755f1470: Pull complete
    Digest: sha256:12458234bb9f01336df718b7470cabaf5c357052cbcb91f8e80be07635994464
    Status: Downloaded newer image for zookeeper:latest

    2、单机运行zookeeper

    启动zookeeper容器:

    >>> docker run --name my_zookeeper -d zookeeper:latest

    查看zookeeper容器运行的日志:

    docker logs -f my_zookeeper

    3、搭建zookeeper集群

    因为一个一个地启动Zookeeper太麻烦了, 所以为了方便起见, 我直接使用 docker-compose 来启动Zookeeper集群.
    首先创建一个名为 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

    这个配置文件会告诉 Docker 分别运行三个 zookeeper 镜像, 并分别将本地的 2181, 2182, 2183 端口绑定到对应的容器的2181端口上.ZOO_MY_ID 和 ZOO_SERVERS 是搭建 ZK 集群需要设置的两个环境变量, 其中 ZOO_MY_ID 表示 ZK 服务的 id, 它是1-255 之间的整数, 必须在集群中唯一. ZOO_SERVERS 是ZK 集群的主机列表.

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

    COMPOSE_PROJECT_NAME=zk_test docker-compose up

    即可启动 ZK 集群了.
    执行上述命令成功后, 接着在另一个终端中运行 docker-compose ps 命令可以查看启动的 ZK 容器:

    >>> COMPOSE_PROJECT_NAME=zk_test docker-compose ps
    Name              Command               State           Ports
    ----------------------------------------------------------------------
    zoo1   /docker-entrypoint.sh zkSe ...   Up      0.0.0.0:2181->2181/tcp
    zoo2   /docker-entrypoint.sh zkSe ...   Up      0.0.0.0:2182->2181/tcp
    zoo3   /docker-entrypoint.sh zkSe ...   Up      0.0.0.0:2183->2181/tcp
  • 相关阅读:
    SQL Server--用户自定义函数
    Session: 防止用户多次登陆
    创建零时表、表变量
    利用SQL语句查询一个数据库中的所有表
    Distinct和Group by去除重复字段记录
    sql server存儲過程語法
    SQL数据库的基本语句
    删除表数据drop、truncate和delete的用法
    linux/unix 基本概念的认识(sha-bang 、PPA)
    linux/unix 基本概念的认识(sha-bang 、PPA)
  • 原文地址:https://www.cnblogs.com/qianyeliange/p/9667356.html
Copyright © 2011-2022 走看看