1.四台服务器192.168.4.202(master),192.168.4.203,192.168.4.204,192.168.4.205
分别在四台机子上跑namesrv,无需修改参数及启动命令,官方默认启动即可。
2. broker
以下内容复制到4台机子的broker-a及broker-a-s的文件
-------------内容开始----------
# 这个NameserAddr 也是要配置的,我的是上次搭建集群配置了,这此不用写入了
namesrvAddr=192.168.4.205:9876;192.168.4.202:9876;192.168.4.203:9876;192.168.4.204:9876
# dleger 配置
enableDLegerCommitLog = true
dLegerGroup = broker-a
dLegerPeers = n5-192.168.4.205:40911;n2-192.168.4.202:40911;n3-192.168.4.203:40911;n4-192.168.4.204:40911
# 注意:这里是 n0
dLegerSelfId = n2
sendMessageThreadPoolNums = 4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
-------------内容结束----------
分别修改相应的配置参数
192.168.4.202 broker-a.properties brokerId=0 brokerRole=ASYNC_MASTER dLegerSelfId = n2
192.168.4.203 broker-a-s.properties brokerId=3 brokerRole=slave dLegerSelfId = n3
192.168.4.204 broker-a-s.properties brokerId=4 brokerRole=slave dLegerSelfId = n4
192.168.4.205 broker-a-s.properties brokerId=5 brokerRole=slave dLegerSelfId = n5
其他参数可使用默认的。
3. 启动:
先启动namesrv bin/mqnamesrv.sh
启动broker bin/mqbroker -c conf/2m-2s-async/broker-a.properties
4. 测试是否成功
查看集群 bin/mqadmin clusterList
5.创建topic( 配了默认自动创建topic,可不用手动创建,建议生产环境关闭自动创建topic)
[root@localhost rocketmq-5.1.4]# bin/mqadmin updateTopic -n localhost:9876 -b 192.168.4.205:10911 -t topic_augur_zjb
6.集群查看
7.命令行快速验证
RocketMQ提供了一个tools.sh工具可以用来在命令行快速验证RocketMQ服务
发送消息:默认会发1000条消息
bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
接收消息:
bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
8.故障切换试试,关闭master的broker, 观察选举情况