开发者社区 > 云原生 > 消息队列 > 正文

RocketMQ根据官网来配置controller的时候,会出现无法选举master的问题吗?

RocketMQ根据官网来配置controller的时候,会出现无法选举master的问题吗?配置了两个broker,broker配置文件里面brokerId和brokerRole都没有指定fa4d09ab87827892789c8762f2266d1e.jpg
b2cb9931fb6955a921f760025e27f2cb.jpg

展开
收起
cuicuicuic 2023-12-13 21:40:33 51 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在RocketMQ中,如果配置了两个broker,broker配置文件里面brokerId和brokerRole都没有指定,那么这两个Broker节点默认都会注册到NameServer上,并且它们都会被认为是Master。因此,在这种没有指定角色的情况下,每个Broker都有可能被选为Master,这可能导致在主从架构下Slave不能自动切换为Master的问题。

    为了解决这个问题,RocketMQ从4.5版本开始提供了DLedger模式,使用Raft算法来支持自动故障恢复,这样如果Master节点出现故障,可以自动从Slave节点中选举出新的Master进行切换。另外,如果你希望即使在数据落后的情况下也能从非同步状态集合中选举出Master,你可以设置参数enableElectUncleanMaster为true。但是需要注意,这样做可能会导致选取的数据落后的副本作为Master而丢失消息。

    2023-12-14 21:33:20
    赞同 展开评论 打赏
  • https://github.com/apache/rocketmq/discussions/6354
    看看这个 ,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-12-14 07:44:35
    赞同 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载