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两主两从集群部署

相关内容

热门资讯

我来教教您“三鑫联盟.是不是有... 网上科普关于“三鑫联盟有没有挂”话题很是火热,小编也是针对三鑫联盟作*弊开挂的方法以及开挂对应的知识...
今日重大发现“炫龙牛牛.可以开... 网上科普关于“炫龙牛牛有没有挂”话题很是火热,小编也是针对炫龙牛牛作*弊开挂的方法以及开挂对应的知识...
今日重大通报“中至江西麻将.真... 今日重大通报“中至江西麻将.真的有挂吗?”太坑了原来有挂您好,中至江西麻将这个游戏其实有挂的,确实是...
最新引进“决战卡五星.怎么装挂... 您好:决战卡五星这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游...
玩家分享攻略“笑傲江湖.有没有... 有 亲,根据资深记者爆料笑傲江湖是可以开挂的,确实有挂(咨询软件无需打开...
玩家攻略科普“佛手在线.可以开... 家人们!今天小编来为大家解答佛手在线透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
终于明白“暗宝.怎么开挂?”其... 终于明白“暗宝.怎么开挂?”其实是有挂您好,暗宝这个游戏其实有挂的,确实是有挂的,需要了解加客服微信...
今日重大通报“闽乐茶楼.有没有... 网上科普关于“闽乐茶楼有没有挂”话题很是火热,小编也是针对闽乐茶楼作*弊开挂的方法以及开挂对应的知识...
勇救3名落水儿童的栾留伟牺牲后... 极目新闻记者 姚赟 曹雪娇2024年8月10日,年仅41岁的栾留伟为救三名落水儿童牺牲。得知这一消息...
【第一财经】“海贝大厅炸金花.... 【第一财经】“海贝大厅炸金花.究竟有挂吗?”详细开挂教程您好,海贝大厅炸金花这个游戏其实有挂的,确实...