以RocketMQ5.1.3版本的controller嵌入nameserver的模式去部署集群,需要怎么配置broker.conf中的参数来实现1个master对应1个slave?我试了下brokerId和brokerRole是controller自动分配的,如下图。我想要的是在一个Cluster下有3组1master-1slave
brokerName相同的是一组,你要3组,就要有3个不同的brokerName,每2个broker用相同的一个。你这个相当于一组。
此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”。
如果你想在RocketMQ 5.1.3版本中使用Controller嵌入NameServer的模式来配置一个集群,每个Master对应一个Slave,可以按照以下步骤进行配置:
在broker.conf
文件中,设置以下参数:
brokerClusterName=your_cluster_name
brokerName=your_broker_name
brokerId=0
brokerRole=ASYNC_MASTER
这里将brokerRole
设置为ASYNC_MASTER
表示该Broker是Master。
复制一份broker.conf
文件,并重命名为slave-broker.conf
。
在slave-broker.conf
文件中,设置以下参数:
brokerClusterName=your_cluster_name
brokerName=your_broker_name
brokerId=1
brokerRole=SLAVE
这里将brokerRole
设置为SLAVE
表示该Broker是Slave。
启动Master和Slave两个Broker分别使用不同的配置文件,例如:
./mqbroker -n localhost:9876 -c ../conf/broker.conf
./mqbroker -n localhost:9876 -c ../conf/slave-broker.conf
这样就实现了一个集群下的三组Master-Slave架构。
请确保配置文件中的brokerName
和brokerClusterName
参数与其他Broker的配置保持一致,以确保它们属于同一个Cluster。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/