栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

[docker] docker-compose安装zookeeper集群

[docker] docker-compose安装zookeeper集群

前言

之前有介绍docker-compose的网络模块.


基础依赖

docker & docker-compose


基本思路 想法1

首先. 我们, 需要去docker的官网去查看是否有官方的镜像. 非常luck, 我们的zookeeper已经有官方的镜像可以进行使用.


在进行zookeeper镜像使用之前, 我们最好能够确认你需要的版本. 本文使用的是当前环境相较比较稳定的3.6.3. (注意mac好像最近为了适配M1芯片, 请选择相关适配的docker镜像.)

提前下载docker镜像
docker pull zookeeper:3.6.3

提前创建docker网络
docker-network create zk-net


单机 - (docker-compose.yml文件)
version: '2'

networks:
  zk-net:
    name: zk-net

services:
  zoo1:
    image: 'zookeeper:3.6.3'
    container_name: zoo1
    hostname: zoo1
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181
      ALLOW_ANONYMOUS_LOGIN: "yes"
    networks:
      - zk-net
    ports:
      - 2181:2181
      - 8081:8080

集群的配置文件和单机相似. 我们就先解析单机的配置文件.

networks

networks/zk-net/name: 此处主要是声明docker的相关网络. 便于下方进行使用. services

services/environnet: 主要声明后方需要使用的某几个变量.environment/ZOO_MY_ID: 通常构建集群时候的声明节点id.environment/ ZOO_SERVERS: server.1: 声明配置文件的地址.environment/networks: 当前节点使用的网络.environment/ports: 当前节点相关的节点映射.


集群 - (docker-compose.yml文件)
version: '2'

networks:
  zk-net:
    name: zk-net

services:
  zoo1:
    image: 'zookeeper:3.6.3'
    container_name: zoo1
    hostname: zoo1
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
      ALLOW_ANONYMOUS_LOGIN: "yes"
    networks:
      - zk-net
    ports:
      - 2181:2181
      - 8081:8080
  zoo2:
    image: 'zookeeper:3.6.3'
    container_name: zoo2
    hostname: zoo2
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
      ALLOW_ANONYMOUS_LOGIN: "yes"
    networks:
      - zk-net
    ports:
      - 2182:2181
      - 8082:8080
  zoo3:
    image: 'zookeeper:3.6.3'
    container_name: zoo3
    hostname: zoo3
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
      ALLOW_ANONYMOUS_LOGIN: "yes"
    networks:
      - zk-net
    ports:
      - 2183:2181
      - 8083:8080

其实相关的配置文件, Zookeeper的官网已经给出了一份解决方案. 其与上文的配置文件比较相似.


相关实践操作

启动 docker-compose start使用zk-Cli.sh链接相关zookeeper集群.


Reference

[1]. docker compose搭建zookeeper集群
[2]. https://hub.docker.com/_/zookeeper
[3]. 使用 Docker 一步搞定 ZooKeeper 集群的搭建

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号