Zookeeper集群搭建

  • 集群角色
    zookeeper集群中的节点分为三种角色:leader、follower、observer
    (1)leader:为客户端提供读写操作(事务操作),并维护集群状态,由选举产生
    (2)follower:为客户端提供读操作(非事务操作),转发给leader写操作(事务操作),参与选举操作
    (3)observer:角色与Follower类似,但是无投票权
  • zookeeper默认端口
    (1)2181端口:对client提供服务
    (2)2888端口:集群内节点之间通信端口(leader监听2888端口)
    (3)3888端口:选举leader使用
    (4)8080端口:内置的Jetty服务器监听的端口
  • 集群搭建
    编写docker-compse.yml文件
version: '3.8'
services:
    zookeeper1:
        image: docker.io/zookeeper
        restart: always
        container_name: zoo1
        hostname: zoo1
        privileged: true
        ports:
            - 2181:2181
        environment:
            ZOO_MY_ID: 1
            #zoo1是容器名,以此来代替ip,因为容器每次启动分配的ip可能不同但容器名相同
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
    zookeeper2:
        image: docker.io/zookeeper
        restart: always
        container_name: zoo2
        hostname: zoo2
        privileged: true
        ports:
            - 2182:2181
        environment: 
            ZOO_MY_ID: 2   
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
    zookeeper3:
        image: docker.io/zookeeper
        restart: always
        container_name: zoo3
        hostname: zoo3
        privileged: true
        ports:
            - 2183:2181 
        environment:
            ZOO_MY_ID: 3
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
  • 启动docker容器
docker-compose up -d
  • 查看启动的容器
docker-compose ps

查看结果:
在这里插入图片描述

  • 查看zookeeper节点状态(角色)
docker exec -it zoo1 bash ./bin/zkServer.sh status
docker exec -it zoo2 bash ./bin/zkServer.sh status
docker exec -it zoo3 bash ./bin/zkServer.sh status

查看结果:
在这里插入图片描述

  • 进入某个zookeeper节点
docker exec -it zoo1 bash 
./bin/zkCli.sh -server 127.0.0.1:2181
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值