zoukankan      html  css  js  c++  java
  • RocketMQ系列:FAQ之dledger4.7.1集群问题

    前言

    公司的项目里面使用了rocketmq,开发建议使用rocketmq的最新版本4.7.1,并采用dledger模式部署。但是我在部署测试dledger模式的时候遇到了一个坑,在这里分享一下,避免大家重复踩坑。

    环境

    如图是我搭建的rocketmq的dledger集群,集群为两分片:broker-a和broker-b,每个dledger集群中有三个节点(1个leader和2个follower) 

    问题 

    在测试过程中,我需要模拟broker机器断网来测试rocketmq的高可用:在同时生产和消费的过程中,使用iptables命令让broker-b集群中的master机器断网(即无法和外部通信),然后过一段再让broker-b的master机器联网。

    这时候突然发现broker-b中有3个slave,正常应该如broker-a所示(一个leader+两个follower)

    排查原因

    查看broker-b集群上的日志store.log,发现内部在一直同步offset,应该是在断网期间出现了本地文件不一致的问题。

    而集群内部日志来看,一直在进行选举主节点,看来是在这里发生了某种死循环,无法选主。

     再查看dledger的版本:vim rocketmq/store/pom.xml。这里用的是0.1,一般0.1版本都是初次发行版本,所以问题肯定比较多,经过咨询确实是dledger0.1的某些未知bug。

    建议:如果非要使用dledger模式,建议使用0.1以上版本,或者等rocketmq的新的发行版出来再使用,否存在高可用的一些风险。

    博主:测试生财(一个不为996而996的测开码农)

    座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。

    内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。

    csdn:https://blog.csdn.net/ccgshigao

    博客园:https://www.cnblogs.com/qa-freeroad/

    51cto:https://blog.51cto.com/14900374

    微信公众号:测试生财(定期分享独家内容和资源)

  • 相关阅读:
    Java岗 面试考点精讲(基础篇02期)
    面试必会之HashMap源码分析
    Java岗 面试考点精讲(基础篇01期)
    面试被怼?刷个题吧
    Centos7和win7双系统调整默认启动
    SSL证书在线工具
    read,for,case,while,if简单例子
    从微软下载安装Windows10
    grep,sed,cut,awk,join个性特点
    iMac一体机安装苹果和Win7双系统
  • 原文地址:https://www.cnblogs.com/qa-freeroad/p/13752786.html
Copyright © 2011-2022 走看看