Zookeeper第四话 -- zookeeper高可用集群搭建

本文主要记录zookeeper集群在docker中的搭建。

环境:centos7,zookeeper3.7,端口分别为2181、2182、2183。

docker-compose.yaml文件

version: '3.7'
services:
  zk01:
    image: zookeeper:3.7
    container_name: zk01
    ports:
    - "2181:2181"
    #持久化挂载目录
    volumes:
    - ./2181/data:/data
    #自定义网络
    networks:
    - my-net
    environment:
      #节点id必须唯一
      ZOO_MY_ID: 1
      #集群节点的地址 同一个网段下 可以直接用服务名
      ZOO_SERVERS: server.1=zk01:2888:3888;2181 server.2=zk02:2888:3888;2181 server.3=zk03:2888:3888;2181
  zk02:
    image: zookeeper:3.7
    container_name: zk02
    ports:
    - "2182:2181"
    volumes:
    - ./2182/data:/data
    networks:
    - my-net
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zk01:2888:3888;2181 server.2=zk02:2888:3888;2181 server.3=zk03:2888:3888;2181
  zk03:
    image: zookeeper:3.7
    container_name: zk03
    ports:
    - "2183:2181"
    volumes:
    - ./2183/data:/data
    networks:
    - my-net
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zk01:2888:3888;2181 server.2=zk02:2888:3888;2181 server.3=zk03:2888:3888;2181
networks:
  my-net:
    external: true

启动

[root@m zookeeper-cluster]# docker-compose up -d
Creating zk03 ... done
Creating zk02 ... done
Creating zk01 ... done
#进入第三台节点 默认服务id最大的为leader节点
[root@m zookeeper-cluster]# docker exec -it zk03 /bin/bash
root@0c658c082790:/apache-zookeeper-3.7.0-bin# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
#接下来停掉leader节点
[root@m zookeeper-cluster]# docker stop zk03
zk03
#查看zk02节点
[root@m zookeeper-cluster]# docker exec -it zk02 /bin/bash
root@ab695a27ede5:/apache-zookeeper-3.7.0-bin# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
#已经切换为leader了
Mode: leader

集群操作指令

  • 进入任意一台机容器内部
#查看状态
./bin/zkServer.sh status
#连接集群
./binzkCli.sh -server ip:port,ip:port

其他的注意点:zookeeper的session过期默认40秒,如果客户端的超时时间小于该时间,会返回报错!

以上就是本章的全部内容了。

上一篇:Zookeeper第三话 – Springboot基于zk+dubbo实现远程服务调用
下一篇:RabbitMQ第一话 – docker安装RabbitMQ以及Springboot集成RabbitMQ

书山有路勤为径,学海无涯苦作舟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值