swarm-部署zookeeper

前置条件

安装Docker Engine,并搭建一个swarm集群。参考文章

swarm集群创建一个覆盖网络xxl

//同一个覆盖网络的服务可以通过服务名和ip互相访问,不同的覆盖网络不行
docker network create -d overlay --scope swarm --subnet 172.22.0.0/16 --gateway 172.22.0.1 xxl

编写zookeeper.yml配置文件

version: "3.7"
networks:
  xxl:
    external: true		//为true表示网络在stack外已经创建,deploy时不用创建
    name: xxl
    driver: overlay
    ipam:
      config:
        - subnet: 172.22.0.0/16
services:
  zoo1:
    image: zookeeper:3.5.6
    networks:
      - xxl
    volumes:
      - ./zk/data1:/data
      - ./zk/log1:/datalog
    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
    deploy:
      replicas: 1
  zoo2:
    image: zookeeper:3.5.6
    networks:
      - xxl
    volumes:
      - ./zk/data2:/data
      - ./zk/log2:/datalog
    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
    deploy:
      replicas: 1
    depends_on:		//避免出现错误
      - zoo1
  zoo3:
    image: zookeeper:3.5.6
    networks:
      - xxl
    volumes:
      - ./zk/data3:/data
      - ./zk/log3:/datalog
    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
    deploy:
      replicas: 1
    depends_on:
      - zoo2
  zkweb:
    image: tobilg/zookeeper-webui:latest
    networks:
      - xxl
    ports:
      - "2100:2100"
    environment:
      - HTTP_PORT=2100
      - ZK_DEFAULT_NODE=zoo1:2181
      - USER=***
      - PASSWORD=***
    deploy:
      replicas: 1
    depends_on:
      - zoo1
      - zoo2
      - zoo3

部署服务栈

//部署
docke swarm deploy -c zookeeper.yml zk
//移除
docker swarm rm zk

说明

  • 集群中每个节点的状态一致,三个节点完全等价
  • 通过zkServer status查看节点的角色
  • 覆盖网络内,通过zkCli连接每个节点查看信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值