我现在有一个rocketmq的集群(broker是1主2从), broker主节点所在的机器宕机了, 这个时候能否从2个从节点选出1个主来?实践过了,1主2从,mater宕机,2个从中是选不出主的,rocketmq5.0版本 主宕机了 里面是有三个ip(包含旧的broker的pod ip) ,首先是选不出来 然后这个时候主节点的pod重启后 ip会变 就进来4个(来了个新的) 更加选不出来
在 RocketMQ 中,如果 Broker 主节点所在的机器宕机了,那么只有 Broker 从节点可以自动切换成主节点。在一台机器上运行多个 Broker 实例时,每个 Broker 实例的角色(主节点或从节点)是在 Broker 启动时决定的,一旦 Broker 启动后角色不会再改变,因此,从节点无法主动切换成主节点。
在您的情况下,如果 Broker 主节点所在的机器宕机了,那么只有 Broker 从节点可以继续工作,不能自动切换成主节点。如果想要从节点切换成主节点,需要手动进行一些配置和操作。
具体做法如下:
手动修改 Broker 配置 在 Broker 从节点上,手动修改 Broker 配置文件(broker.conf 或 broker.properties),将 brokerRole 参数设置为 SYNC_MASTER,并设置其他相关参数,例如 namesrvAddr、brokerName 等。
手动启动 Broker 从节点 在 Broker 从节点上,手动启动 Broker 实例,以便将其切换成主节点。此时,该节点将承担起原来主节点的任务,并将消息发送给其他 Broker 节点。
需要注意的是,手动切换 Broker 节点的角色需要谨慎操作,需要确保在切换过程中不会丢失消息和数据,并且需要手动进行一些配置和操作,才能保证 Broker 能够正常工作。建议在进行任何操作之前,先备份相关数据和配置文件,并了解相关操作的风险和影响。
controller模式吗,这个取决于你的配置 可以看一下相关部署文档 主节点宕机优先从syncstate set 中选一个从节点 如果没有别的从节点就选不出来 或者你开启forceElect 这时候可以从非sync state set中的仍活跃的从节点选一个出来当主 但是不推荐 因为会丢数据,可以的。。你先看看getSyncStateSet。。里面有几个broker 回答2:,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/