docker-compose 搭建zookeeper真伪结合集群

docker和docker-compose 安装方法请自行百度

 

服务器结构

服务器编号10111213
类型observerleader、follower、followerobserverobserver

4台服务器 搭建6个zk

其中11服务器上有一个两个follower和一个leader的伪集群

编写docker-compose.yml

这里只列举一个伪集群的11服务和随便一个observer的 

伪集群的docker-compose.yml

version: '2'
services:
    zoo1:
        image: zookeeper
        restart: always
        network_mode: "host"
        container_name: zoo1
        ports:
            - "2181:2181"
            - "2887:2888"
            - "3887:3888"
        environment:
            ZOO_MY_ID: 1
            ZOO_SERVERS: server.1=192.168.2.11:2887:3887;2181 server.2=192.168.2.11:2888:3888;2182 server.3=192.168.2.11:2889:3889;2183 server.4=192.168.2.10:2888:3888:observer;2181 server.5=192.168.2.12:2888:3888:observer;2181

    zoo2:
        image: zookeeper
        restart: always
        network_mode: "host"
        container_name: zoo2
        ports:
            - "2182:2181"
            - "2888:2888"
            - "3888:3888"
        environment:
            ZOO_MY_ID: 2
            ZOO_SERVERS: server.1=192.168.2.11:2887:3887;2181 server.2=192.168.2.11:2888:3888;2182 server.3=192.168.2.11:2889:3889;2183 server.4=192.168.2.10:2888:3888:observer;2181 server.5=192.168.2.12:2888:3888:observer;2181

    zoo3:
        image: zookeeper
        restart: always
        network_mode: "host"
        container_name: zoo3
        ports:
            - "2183:2181"
            - "2889:2888"
            - "3889:3888"
        environment:
            ZOO_MY_ID: 3

observer docker-compose.yml

version: '2'
services:
  zoo1:
    image: zookeeper
    restart: always
    container_name: zookeeper
    network_mode: "host"
    ports:
        - "2181:2181"
        - "2888:2888"
        - "3888:3888"
    volumes:
      - "/usr/local/zookeeper/data:/data"
    environment:
        ZOO_MY_ID: 4
        PEER_TYPE: observer
        ZOO_SERVERS: server.1=192.168.2.11:2887:3887;2181 server.2=192.168.2.11:2888:3888;2182 server.3=192.168.2.11:2889:3889;2183 server.4=192.168.2.10:2888:3888:observer;2181 server.5=192.168.2.12:2888:3888:observer;2181

这里没写13服务的配置 需要请自行添加

ports可以不指定,因为设置了网络模式为“host” 指定posts将不再起作用 这里我是懒得没去

其中也是遇到了很多问题,经过很多摸索才写对

 可能遇到的问题:

1、不停打印错误日志

java.io.IOException: Leaders epoch, 1 is less than accepted epoch, 6
	at org.apache.zookeeper.server.quorum.Learner.registerWithLeader(Learner.java:471)
	at org.apache.zookeeper.server.quorum.Observer.observeLeader(Observer.java:110)
	at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:1439)
2020-10-22 15:38:18,254 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):Observer@138] - Disconnected from leader (with address: /192.168.2.11:2889). Was connected for 4ms. Sync state: false
2020-10-22 15:38:18,254 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):Observer@243] - shutdown Observer
2020-10-22 15:38:18,254 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):QuorumPeer@863] - Peer state changed: looking
2020-10-22 15:38:18,254 [myid:5] - WARN  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):QuorumPeer@1504] - PeerState set to LOOKING
2020-10-22 15:38:18,254 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):Observer@258] - Waiting for 195 ms before reconnecting with the leader
2020-10-22 15:38:18,449 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):QuorumPeer@1374] - LOOKING
2020-10-22 15:38:18,450 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):FastLeaderElection@944] - New election. My id = 5, proposed zxid=0x8000000000000000
2020-10-22 15:38:18,451 [myid:5] - INFO  [WorkerReceiver[myid=5]:FastLeaderElection$Messenger$WorkerReceiver@389] - Notification: my state:LOOKING; n.sid:3, n.state:LEADING, n.leader:3, n.round:0x1, n.peerEpoch:0x1, n.zxid:0x0, message format version:0x2, n.config version:0x0
2020-10-22 15:38:18,451 [myid:5] - INFO  [WorkerReceiver[myid=5]:FastLeaderElection$Messenger$WorkerReceiver@389] - Notification: my state:LOOKING; n.sid:2, n.state:FOLLOWING, n.leader:3, n.round:0x1, n.peerEpoch:0x1, n.zxid:0x0, message format version:0x2, n.config version:0x0
2020-10-22 15:38:18,451 [myid:5] - INFO  [WorkerReceiver[myid=5]:FastLeaderElection$Messenger$WorkerReceiver@389] - Notification: my state:LOOKING; n.sid:1, n.state:FOLLOWING, n.leader:3, n.round:0x1, n.peerEpoch:0x1, n.zxid:0x0, message format version:0x2, n.config version:0x0
2020-10-22 15:38:18,451 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):QuorumPeer@857] - Peer state changed: observing
2020-10-22 15:38:18,451 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):QuorumPeer@1437] - OBSERVING
2020-10-22 15:38:18,451 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):ZooKeeperServer@1256] - minSessionTimeout set to 4000
2020-10-22 15:38:18,452 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):ZooKeeperServer@1265] - maxSessionTimeout set to 40000
2020-10-22 15:38:18,452 [myid:5] - INFO  [QuorumPeer[myid=5](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):ResponseCache@45] - Response cache size is initialized with value 400.

 进入到zk容器 删除/data/version-xx文件

重启容器

如有问题请留言

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值