RocketMQ4.5.1两主两从集群部署
admin
2023-02-28 17:41:43
0

10.40.58.5
10.40.58.6
下载安装包
https://rocketmq.apache.org/release_notes/release-notes-4.5.1/

unzip rocketmq-all-4.5.1-bin-release.zip –d /data/
rocketmq是java编写,所以要配置jdk 和mvn 环境之后要用
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export M3_HOME=/usr/local/maven3
export PATH=$JAVA_HOME/bin:$M3_HOME/bin:$PATH

分别在5和6两台服务器上创建持久化存储目录(以下的5,6,代表上面的服务器)
Msater 目录设置
mkdir /data/rocketmq-2m2s/store
mkdir /data/rocketmq-2m2s/store/commitlog
mkdir /data/rocketmq-2m2s/store/consumequeue
mkdir /data/rocketmq-2m2s/store/index

Slave目录设置
mkdir /data/rocketmq-2m2s/store-s
mkdir /data/rocketmq-2m2s/store-s/commitlog
mkdir /data/rocketmq-2m2s/store-s/consumequeue
mkdir /data/rocketmq-2m2s/store-s/index

RocketMQ配置文件
5服务器配置
vi /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a.properties
vi /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b-s.properties

6 服务器配置
vi /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b.properties
vi /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a-s.properties

5 服务器 broker-a.properties配置文件
cat /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=10.40.58.5:9876;10.40.58.6:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#Broker 对外服务的监听端口
listenPort=10911
haListenPort=10912
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=18
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/data/rocketmq-2m2s/store
#commitLog 存储路径
storePathCommitLog=/data/rocketmq-2m2s/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/data/rocketmq-2m2s/store/consumequeue
#消息索引存储路径
storePathIndex=/data/rocketmq-2m2s/store/index
#checkpoint 文件存储路径
storeCheckpoint=/data/rocketmq-2m2s/store/checkpoint
#abort 文件存储路径
abortFile=/data/rocketmq-2m2s/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
pullMessageThreadPoolNums=128
#打开锁
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.40.58.5

6服务器 broker-a-s.properties配置文件
cat /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a-s.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=10.40.58.5:9876;10.40.58.6:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#Broker 对外服务的监听端口
listenPort=10923
haListenPort=10924
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=18
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/data/rocketmq-2m2s/store-s
#commitLog 存储路径
storePathCommitLog=/data/rocketmq-2m2s/store-s/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/data/rocketmq-2m2s/store-s/consumequeue
#消息索引存储路径
storePathIndex=/data/rocketmq-2m2s/store-s/index
#checkpoint 文件存储路径
storeCheckpoint=/data/rocketmq-2m2s/store-s/checkpoint
#abort 文件存储路径
abortFile=/data/rocketmq-2m2s/store-s/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushConsumeQueueLeastPages=2#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
pullMessageThreadPoolNums=128
#打开锁
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.40.58.6

6服务器 broker-b.properties配置文件
cat /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=10.40.58.6:9876;10.40.58.5:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#Broker 对外服务的监听端口
listenPort=10911
haListenPort=10912
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=18
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/data/rocketmq-2m2s/store
#commitLog 存储路径
storePathCommitLog=/data/rocketmq-2m2s/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/data/rocketmq-2m2s/store/consumequeue
#消息索引存储路径
storePathIndex=/data/rocketmq-2m2s/store/index
#checkpoint 文件存储路径
storeCheckpoint=/data/rocketmq-2m2s/store/checkpoint
#abort 文件存储路径
abortFile=/data/rocketmq-2m2s/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
pullMessageThreadPoolNums=128
#打开锁
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.40.58.6

5服务器 broker-b-s.properties配置文件
cat /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b-s.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=10.40.58.6:9876;10.40.58.5:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#Broker 对外服务的监听端口
listenPort=10923
haListenPort=10924
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=18
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/data/rocketmq-2m2s/store-s
#commitLog 存储路径
storePathCommitLog=/data/rocketmq-2m2s/store-s/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/data/rocketmq-2m2s/store-s/consumequeue
#消息索引存储路径
storePathIndex=/data/rocketmq-2m2s/store-s/index
#checkpoint 文件存储路径
storeCheckpoint=/data/rocketmq-2m2s/store-s/checkpoint
#abort 文件存储路径
abortFile=/data/rocketmq-2m2s/store-s/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
pullMessageThreadPoolNums=128
#打开锁
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.40.58.5

注意: 上面配置文件中 【#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭autoCreateSubscriptionGroup=false】 将topic和订阅组全部关闭自动创建了。 所以在使用Java-API调用之前,一定要手动创建Topic和消费者订阅组,不然消费者端无法获取到消息。

修改日志配置文件
cd /data/rocketmq-all-4.5.1-bin-release/conf
vi logback_namesrv.xml
vi logback_namesrv.xml
mkdir /data/logs

RocketMQ4.5.1两主两从集群部署

修改rocketmq启动脚本
适当修改jvm内存大小
vi /data/rocketmq-all-4.5.1-bin-release/bin/runbroker.sh
vi /data/rocketmq-all-4.5.1-bin-release/bin/runserver.sh
vi /data/rocketmq-all-4.5.1-bin-release/bin/tools.sh

RocketMQ4.5.1两主两从集群部署

启动参数设置
RocketMQ启动文件位于/data/rocketmq-all-4.5.1-bin-release/bin/目录下,Linux中nameserver启动文件为:mqnamesrv,broker启动文件为:mqbroker,mqnamesrv和mqbroker启动文件分别调用了runserver.sh和runbroker.sh.
文件,这两个文件分别设置了nameserver和broker的启动内存,目前内存启动参数分别为nameserver启动内存4G,最大内存4G,新生代2G,broker启动内存8G,最大内存8G,新生代4G。(根据自己的需要修改)

启动Nameserver
分别启动5、6的Nameserver
cd /data/rocketmq-all-4.5.1-bin-release/bin/
nohup sh mqnamesrv &

启动Broker: cd /data/rocketmq-all-4.5.1-bin-release/bin/
5上Master启动:
nohup sh mqbroker -c /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a.properties &
6上Master启动:
nohup sh mqbroker -c /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b.properties &
5上Slave启动:
nohup sh mqbroker -c /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b-s.properties &
6上Slave启动:
nohup sh mqbroker -c /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a-s.properties &

RocketMQ4.5.1两主两从集群部署

至此,Nameserver、Broker启动完成,可以用jobs命令查看当前运行进程,如下是服务端相关shutdown,即在bin目录下:
sh mqshutdown namesrv
sh mqshutdown broke

RocketMQ监控平台部署

下载:
Git地址:https://github.com/apache/rocketmq-externals/tree/release-rocketmq-console-1.0.0
或者https://pan.baidu.com/s/1Y4fzVc2r30jtIVpvYZocWA 密码: vj2y
unzip rocketmq-externals-release-rocketmq-console-1.0.0.zip
cd rocketmq-externals-release-rocketmq-console-1.0.0/rocketmq-console/src/main/resources/
vi application.properties
RocketMQ4.5.1两主两从集群部署

编译源代码(需要maven环境)
cd /root/rocketmq-externals-release-rocketmq-console-1.0.0/rocketmq-console/
mvn clean package -Dmaven.test.skip=true (如果有卡住的自己可以下载相应的jar放到这个目录里面就好了再继续编译)

启动服务
cd /root/rocketmq-externals-release-rocketmq-console-1.0.0/rocketmq-console/target
java -jar rocketmq-console-ng-1.0.0.jar &

访问管理界面
浏览器输入: 10.40.58.5:8080/回车显示监控界面
RocketMQ4.5.1两主两从集群部署

相关内容

热门资讯

太空实验招募志愿者,最长卧床躺... 5月6日,据中国航天员科研训练中心消息,该中心公开招募“地星三号”卧床实验志愿者,志愿者将随机分为对...
日本特务“特高课”,借尸还魂? 执笔/胡一刀80年前的1946年5月,远东国际军事法庭正在东京开庭,一场对日本军国主义发动侵略战争的...
胡锡进:伊朗创造了奇迹,华盛顿... 华盛顿周四焦虑等待伊朗对其“一页纸”谅解备忘录的回答,世界也在等伊朗的回应。这样的等待是这场战争结果...
俄媒:俄总统助理称,普京访华事... 【环球网报道】综合俄新社等媒体7日报道,俄罗斯总统助理乌沙科夫对记者称,俄罗斯总统普京访华事宜正在积...
“加强调控”!10天内,国家部... ‍‍5月6日,农业农村部党组召开扩大会议,部党组书记、部长张柱主持会议。张柱 资料图此次会议提到:“...
世卫组织:涉疫邮轮病例数达8例... 世界卫生组织7日表示,已在涉汉坦病毒疫情的“洪迪厄斯”号邮轮上发现8例病例,其中5例确诊。此次疫情暴...
一边“下跪”一边“黩武”,高市... 5月4日,到访澳大利亚的日本首相高市早苗,在堪培拉的战争纪念馆向无名战士墓下跪并献花,让国际舆论侧目...
世界杯,还能看到直播吗? 2026年美加墨世界杯距离开幕,仅剩一个多月时间。多方信息显示,中央广播电视总台(以下简称“央视”)...
3名985名校“杰青”涉嫌论文... 国家卫健委印发的方案提出,力争用3年时间,“下大力气扭转卫生健康领域存在的科研诚信不良风气”。近一周...
权威数读|尽显中国活力 五一假... 全社会跨区域人员流动量超15亿人次,消费相关行业销售收入同比增长14.3%,电影票房突破7.5亿元…...