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

Apache RocketMQ中为啥我的2m-2s-async集群,启动之后Master和Slav?

问题1:Apache RocketMQ中为啥我的2m-2s-async集群,启动之后Master和Slave都变了image.png 问题2:但是我起了好多次,经常遇到两个Master和两个Slave都在同一台机器上。这个可以控制吗?就是想每台机器上运行一个主一个从,可以增加配置参数brokerElectionPriority来配置选择成主的权重,还有一个方式是当集群稳定后用mqadmin的electMaster命令直接来指定谁是主

展开
收起
真的很搞笑 2023-07-03 16:01:16 147 0
4 条回答
写回答
取消 提交回答
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    问题1: 这个可能是由于集群节点的异步特性导致的。在Apache RocketMQ中,每个节点都是独立的,可以在独立的线程中处理消息。当一个节点处理消息时,如果出现故障或者超时等情况,会自动将该节点从集群中移除,并选举新的节点成为新的主。因此,在2m-2s-async集群中,如果有一个节点出现故障或者超时等情况,另外一个节点就会自动接管该节点的角色,从而实现高可用性。 问题2: 可以通过配置brokerElectionPriority参数来调整选择主节点的权重。该参数可以在rocketmq的配置文件中进行设置,范围在1-100之间,越大优先级越高。如果要保证每台机器上运行一个主节点和一个从节点,可以将brokerElectionPriority参数设置为1,这样当集群中只有一台节点可以处理消息时,该节点就会被选举为主节点。如果需要在集群稳定后指定某台节点为主节点,可以使用mqadmin的electMaster命令,该命令会在所有节点上选举一个主节点,并将其指定为 leaderId。注意,在选举主节点时,需要保证所有节点都已经连接到了rocketmq集群中。

    2023-07-06 15:22:02
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    查看下; 配置文件错误:在RocketMQ的配置文件中,Master和Slave的角色是通过配置文件中的brokerRole参数来指定的。如果配置文件中的brokerRole参数设置错误,可能会导致Master和Slave的角色发生变化。在这种情况下,可以检查配置文件中brokerRole参数的设置是否正确。

    网络连接不稳定:在RocketMQ集群中,Master和Slave之间通过网络进行数据同步和传输。如果网络连接不稳定,可能会导致数据同步失败,从而引起Master和Slave的角色发生变化。在这种情况下,可以尝试检查网络连接是否正常,并且尝试使用不同的网络连接方式。

    服务器性能问题:在RocketMQ集群中,Master和Slave的角色是根据服务器性能和资源分配来确定的。如果服务器性能不足,可能会导致Master和Slave的角色发生变化。在这种情况下,可以尝试检查服务器的性能和资源分配情况,并且尝试对服务器进行优化和调整。

    2023-07-05 08:00:20
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    原因:你配置了 Controller 模式,此模式的 Broker 节点的 brokerRole 参数实际上是失效的。因为 Controller 模式下的 Broker 不再参与主从复制,而是由 Controller 节点自动管理。

    解决办法:如果希望手动控制主从节点的切换,把 Controller 配置删除即可。

    2023-07-03 16:57:31
    赞同 展开评论 打赏
  • 回答1:controller模式下,主备关系由controller决定 回答2;在controller模式下的选举是不能手动控制哪个是主 哪个是从的 还有BrokerRole参数是失效的 关于controller模式可以查看下面的文章加深理解: https://shimo.im/docs/N2A1Mz9QZltQZoAD,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-07-03 16:15:37
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 相关电子书

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

    相关镜像