网站首页 > 技术文章 正文
一 RocketMQ集群部署
1.1 服务器规划
搭建一个双主双从异步复制的Broker集群,用两台主机来完成集群的搭建。
1.2 配置/etc/hosts解析
两台服务器均需执行。
cat >>/etc/hosts<<EOF
192.168.0.99 rocketmq01
192.168.0.100 rocketmq02
EOF
1.3 RocketMQ安装
两台服务器均需安装rocketmq,之前已写rocketmq单机部署的文章,此处不再赘述。
1.4 修改rocketmq01配置文件
192.168.0.99服务器操作
cd /web/rocketmq-5.1.0/conf/2m-2s-async
rm -f broker-b.properties broker-a-s.properties
vim broker-a.properties
#指定整个broker集群的名称,或者说是rocketmq集群的名称
brokerClusterName=DefaultCluster
#指定master-slave集群的名称,一个rocketmq集群可以包含多个master-slave集群
brokerName=broker-a
#broker为0表示是master,非0表示为slave
brokerId=0
#指定删除消息存储过期文件的时间为凌晨4点
deleteWhen=04
#指定未发生更新的消息存储文件的保留时长为48小时,48小时后过期,将会被删除fileReservedTime=48
#指定当前broker为异步复制master
brokerRole=ASYNC_MASTER
#指定刷盘策略为异步刷盘
flushDiskType=ASYNC_FLUSH
#指定Name Server的地址
namesrvAddr=192.168.0.99:9876;192.168.0.100:9876
vim broker-b-s.properties
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.0.99:9876;192.168.0.100:9876
#指定broker对外提供服务的端口,即broker与producer与consumer通信的端口,默认10911,由于当前主机同时充当着master1与slave2,而前面的master1使用的是默认端口,这里需要将这两个端口加以区分。
listenPort=11911
#指定消息存储相关的路径。默认路径为~/store目录,由于当前主机同时充当着master1与slave2,master1使用的是默认路径,这里就需要再指定一个不同路径。
storePathRootDir=~/store-s
storePathCommitLog=~/store-s/commitlog
storePathConsumeQueue=~/store-s/consumequeue
storePathIndex=~/store-s/checkpoint
abortFile=~/store-s/abort
1.5 修改rocketmq02配置文件
192.168.0.100服务器操作
cd /web/rocketmq-5.1.0/conf/2m-2s-async
rm -f broker-a.properties broker-b-s.properties
vim broker-a-s.properties
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.0.99:9876;192.168.0.100:9876
#指定broker对外提供服务的端口,即broker与producer与consumer通信的端口,默认10911,由于当前主机同时充当着master1与slave2,而前面的master1使用的是默认端口,这里需要将这两个端口加以区分。
listenPort=11911
#指定消息存储相关的路径。默认路径为~/store目录,由于当前主机同时充当着master1与slave2,master1使用的是默认路径,这里就需要再指定一个不同路径。
storePathRootDir=~/store-s
storePathCommitLog=~/store-s/commitlog
storePathConsumeQueue=~/store-s/consumequeue
storePathIndex=~/store-s/checkpoint
abortFile=~/store-s/abort
vim broker-b.properties
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.0.99:9876;192.168.0.100:9876
1.6 启动NameServer集群
分别启动rocketmq01与rocketmq02两台主机中的Name Server,启动命令完全相同。
cd /web/rocketmq-5.1.0/bin
nohup ./mqnamesrv &
查看日志
tailf nohup.out
1.7 启动两个Master
192.168.0.99服务器操作
nohup ./mqbroker -c ../conf/2m-2s-async/broker-a.properties &
查看日志
tailf ~/logs/rocketmqlogs/broker.log
192.168.0.100服务器操作
nohup ./mqbroker -c ../conf/2m-2s-async/broker-b.properties &
查看日志
tailf ~/logs/rocketmqlogs/broker.log
1.8 启动两个Slave
nohup ./mqbroker -c ../conf/2m-2s-async/broker-b-s.properties &
查看日志
tailf ~/logs/rocketmqlogs/broker.log
192.168.0.100服务器操作
nohup ./mqbroker -c ../conf/2m-2s-async/broker-a-s.properties &
查看日志
tailf ~/logs/rocketmqlogs/broker.log
jps查看服务状态
至此,RocketMQ集群安装完成。感谢观看。
猜你喜欢
- 2025-01-23 记录:RocketMQ在使用上的一些排坑和优化
- 2025-01-23 消息队列选型(RabbitMq、RocketMq、Kafaka)
- 2025-01-23 Modbus新手教程(modbusrtu)
- 2025-01-23 性能调优篇:困扰我半年之久的RocketMQ timeout exception 被破解了
- 2025-01-23 RocketMQ - 如何实现顺序消息(rocketmq+-+如何实现顺序消息功能)
- 2025-01-23 10 张图 | 一文带你用 Mac M1 跑 RocketMQ
- 2025-01-23 RocketMQ - RocketMQ集群可视化的监控和管理
- 2025-01-23 RocketMQ中的线程池是如何创建的?
- 2025-01-23 手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了
- 2025-01-23 RocketMQ每秒要写入几十万并发,是怎么实现的?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)