以RocketMQ5.1.3版本controller嵌入nameserver的模式去部署集群怎么配置

以RocketMQ5.1.3版本的controller嵌入nameserver的模式去部署集群,需要怎么配置broker.conf中的参数来实现1个master对应1个slave?我试了下brokerId和brokerRole是controller自动分配的,如下图。我想要的是在一个Cluster下有3组1master-1slave
487a1de8622393af28131c3c869d9cc7.png

展开
收起
2401。 2023-07-31 12:38:44 355 分享 版权
2 条回答
写回答
取消 提交回答
  • brokerName相同的是一组,你要3组,就要有3个不同的brokerName,每2个broker用相同的一个。你这个相当于一组。
    此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”。

    2023-08-01 13:37:11
    赞同 展开评论
  • 如果你想在RocketMQ 5.1.3版本中使用Controller嵌入NameServer的模式来配置一个集群,每个Master对应一个Slave,可以按照以下步骤进行配置:

    1. broker.conf文件中,设置以下参数:

      brokerClusterName=your_cluster_name
      brokerName=your_broker_name
      brokerId=0
      brokerRole=ASYNC_MASTER
      

      这里将brokerRole设置为ASYNC_MASTER表示该Broker是Master。

    2. 复制一份broker.conf文件,并重命名为slave-broker.conf

    3. slave-broker.conf文件中,设置以下参数:

      brokerClusterName=your_cluster_name
      brokerName=your_broker_name
      brokerId=1
      brokerRole=SLAVE
      

      这里将brokerRole设置为SLAVE表示该Broker是Slave。

    4. 启动Master和Slave两个Broker分别使用不同的配置文件,例如:

      ./mqbroker -n localhost:9876 -c ../conf/broker.conf
      ./mqbroker -n localhost:9876 -c ../conf/slave-broker.conf
      

    这样就实现了一个集群下的三组Master-Slave架构。

    请确保配置文件中的brokerNamebrokerClusterName参数与其他Broker的配置保持一致,以确保它们属于同一个Cluster。。

    2023-07-31 14:21:40
    赞同 展开评论

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/

还有其他疑问?
咨询AI助理