RocketMQ4.8.0 2主2从异步集群安装

下载安装包

执行如下命令

wget https://archive.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip

https://rocketmq.apache.org/release_notes/release-notes-4.8.0/https://rocketmq.apache.org/release_notes/release-notes-4.8.0/ 官网下载安装包后上传至服务器文件夹。

 解压

 unzip rocketmq-all-4.8.0-bin-release.zip

重命名 

mv rocketmq-all-4.8.0-bin-release  rocketmq4.8

修改服务器1 centos7_01 配置文件 

新建日志和文件的存储目录

rocketmq根目录下新建broker-a和broker-b的文件存储目录

mkdir storeAMaster

 mkdir storeBSlave

mkdir logs

进入2m-2s-async目录 /rocketmq/rocketmq4.8/conf/2m-2s-async

修改broker-a.properties

#指定整个broker集群的名称,或者说是RocketMQ集群的名称 
brokerClusterName=rocket-MS 
#指定master-slave集群的名称。一个RocketMQ集群可以包含多个master-slave集群 
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=centos7_01:9876;centos7_02:9876
#默认为新建Topic所创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议生产环境中关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议生产环境中关闭
autoCreateSubscriptionGroup=true
#Broker对外提供服务的端口,即Broker与producer与consumer通信的端口
listenPort=10911
#HA高可用监听端口,即Master与Slave间通信的端口,默认值为listenPort+1
haListenPort=10912
#指定删除消息存储过期文件的时间为凌晨4点
deleteWhen=04
#指定未发生更新的消息存储文件的保留时长为48小时,48小时后过期,将会被删除
fileReservedTime=48
#指定commitLog目录中每个文件的大小,默认1G
mapedFileSizeCommitLog=1073741824
#指定ConsumeQueue的每个Topic的每个Queue文件中可以存放的消息数量,默认30w条
mapedFileSizeConsumeQueue=300000
#在清除过期文件时,如果该文件被其他线程所占用(引用数大于0,比如读取消息),此时会阻止 此次删除任务,
#同时在第一次试图删除该文件时记录当前时间戳。该属性则表示从第一次拒绝删除 后开始计时,该文件最多可以保留的时长。
#在此时间内若引用数仍不为0,则删除仍会被拒绝。不过 时间到后,文件将被强制删除
destroyMapedFileIntervalForcibly=120000
#指定commitlog、consumequeue所在磁盘分区的最大使用率,超过该值,则需立即清除过期文件
diskMaxUsedSpaceRatio=88
#指定store目录的路径,默认在当前用户主目录中
storePathRootDir=/opt/software/rocketmq/rocketmq4.8/storeAMaster
#commitLog目录路径
storePathCommitLog=/opt/software/rocketmq/rocketmq4.8/storeAMaster/commitlog
#consumeueue目录路径
storePathConsumeQueue=/opt/software/rocketmq/rocketmq4.8/storeAMaster/consumequeue
#index目录路径
storePathIndex=/opt/software/rocketmq/rocketmq4.8/storeAMaster/index
#checkpoint文件路径
storeCheckpoint=/opt/software/rocketmq/rocketmq4.8/storeAMaster/checkpoint
#abort文件路径
abortFile=/opt/software/rocketmq/rocketmq4.8/storeAMaster/abort
#指定消息的最大大小
maxMessageSize=65536
#Broker的角色 # - ASYNC_MASTER 异步复制Master # - SYNC_MASTER 同步双写Master # - SLAVE
brokerRole=SYNC_MASTER
#刷盘策略 # - ASYNC_FLUSH 异步刷盘 # - SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
pullMessageThreadPoolNums=128
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡 时IP地址可能读取错误 
brokerIP1=192.168.70.150

修改broker-b-s.properties 

#指定整个broker集群的名称,或者说是RocketMQ集群的名称 
brokerClusterName=rocket-MS 
#指定master-slave集群的名称。一个RocketMQ集群可以包含多个master-slave集群 
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=centos7_01:9876;centos7_02:9876
#默认为新建Topic所创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议生产环境中关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议生产环境中关闭
autoCreateSubscriptionGroup=true
#Broker对外提供服务的端口,即Broker与producer与consumer通信的端口 因为同一台机器部署了broker-a 和broker-b 这里端口不能重复
listenPort=11911
#HA高可用监听端口,即Master与Slave间通信的端口,默认值为listenPort+1
haListenPort=11912
#指定删除消息存储过期文件的时间为凌晨4点
deleteWhen=04
#指定未发生更新的消息存储文件的保留时长为48小时,48小时后过期,将会被删除
fileReservedTime=48
#指定commitLog目录中每个文件的大小,默认1G
mapedFileSizeCommitLog=1073741824
#指定ConsumeQueue的每个Topic的每个Queue文件中可以存放的消息数量,默认30w条
mapedFileSizeConsumeQueue=300000
#在清除过期文件时,如果该文件被其他线程所占用(引用数大于0,比如读取消息),此时会阻止 此次删除任务,
#同时在第一次试图删除该文件时记录当前时间戳。该属性则表示从第一次拒绝删除 后开始计时,该文件最多可以保留的时长。
#在此时间内若引用数仍不为0,则删除仍会被拒绝。不过 时间到后,文件将被强制删除
destroyMapedFileIntervalForcibly=120000
#指定commitlog、consumequeue所在磁盘分区的最大使用率,超过该值,则需立即清除过期文件
diskMaxUsedSpaceRatio=88
#指定store目录的路径,默认在当前用户主目录中
storePathRootDir=/opt/software/rocketmq/rocketmq4.8/storeBSlave
#commitLog目录路径
storePathCommitLog=/opt/software/rocketmq/rocketmq4.8/storeBSlave/commitlog
#consumeueue目录路径
storePathConsumeQueue=/opt/software/rocketmq/rocketmq4.8/storeBSlave/consumequeue
#index目录路径
storePathIndex=/opt/software/rocketmq/rocketmq4.8/storeBSlave/index
#checkpoint文件路径
storeCheckpoint=/opt/software/rocketmq/rocketmq4.8/storeBSlave/checkpoint
#abort文件路径
abortFile=/opt/software/rocketmq/rocketmq4.8/storeBSlave/abort
#指定消息的最大大小
maxMessageSize=65536
#Broker的角色 # - ASYNC_MASTER 异步复制Master # - SYNC_MASTER 同步双写Master # - SLAVE
brokerRole=SYNC_MASTER
#刷盘策略 # - ASYNC_FLUSH 异步刷盘 # - SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
pullMessageThreadPoolNums=128
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡 时IP地址可能读取错误 
brokerIP1=192.168.70.150

修改broker启动jvm内存参数

进入bin目录

vim  runbroker.sh

修改nameServer启动jvm参数

vim runserver.sh

修改broker日志路径(非必要)

进入目录 /opt/software/rocketmq/rocketmq4.8/conf

vim logback_broker.xml

默认日志路径为当前用户目录logs文件夹

修改为上面新建的指定目录,vim编辑器内执行如下命令

:%s/${user.home}/\/opt\/software\/rocketmq\/rocketmq4.8/g

 其中 /opt/software/rocketmq/rocketmq4.8/logs  是我指定的日志目录

Vim 编辑器的替换命令

:s/<find-this>/<replace-with-this>/<flags> 

:%s/AA/BB/g # 在全局范围内(%)查找AA并将之替换为BB,所有出现都会被替换(g) :s/AA/BB/g # 在当前行内查找AA并将之替换为BB,所有出现都会被替换(g)

上面命令中的 \  代表转义符

修改NameServer日志路径(非必要)

vim logback_namesrv.xml   输入如下命令

:%s/${user.home}/\/opt\/software\/rocketmq\/rocketmq4.8/g

修改服务器2 centos7_02 配置文件 

新建日志和文件的存储目录

rocketmq根目录下新建broker-a和broker-b的文件存储目录

mkdir storeBMaster

 mkdir storeASlave

mkdir logs

进入2m-2s-async目录 /rocketmq/rocketmq4.8/conf/2m-2s-async

修改vim broker-b.properties

#指定整个broker集群的名称,或者说是RocketMQ集群的名称 
brokerClusterName=rocket-MS 
#指定master-slave集群的名称。一个RocketMQ集群可以包含多个master-slave集群 
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=centos7_01:9876;centos7_02:9876
#默认为新建Topic所创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议生产环境中关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议生产环境中关闭
autoCreateSubscriptionGroup=true
#Broker对外提供服务的端口,即Broker与producer与consumer通信的端口
listenPort=10911
#HA高可用监听端口,即Master与Slave间通信的端口,默认值为listenPort+1
haListenPort=10912
#指定删除消息存储过期文件的时间为凌晨4点
deleteWhen=04
#指定未发生更新的消息存储文件的保留时长为48小时,48小时后过期,将会被删除
fileReservedTime=48
#指定commitLog目录中每个文件的大小,默认1G
mapedFileSizeCommitLog=1073741824
#指定ConsumeQueue的每个Topic的每个Queue文件中可以存放的消息数量,默认30w条
mapedFileSizeConsumeQueue=300000
#在清除过期文件时,如果该文件被其他线程所占用(引用数大于0,比如读取消息),此时会阻止 此次删除任务,
#同时在第一次试图删除该文件时记录当前时间戳。该属性则表示从第一次拒绝删除 后开始计时,该文件最多可以保留的时长。
#在此时间内若引用数仍不为0,则删除仍会被拒绝。不过 时间到后,文件将被强制删除
destroyMapedFileIntervalForcibly=120000
#指定commitlog、consumequeue所在磁盘分区的最大使用率,超过该值,则需立即清除过期文件
diskMaxUsedSpaceRatio=88
#指定store目录的路径,默认在当前用户主目录中
storePathRootDir=/opt/software/rocketmq/rocketmq4.8/storeBMaster
#commitLog目录路径
storePathCommitLog=/opt/software/rocketmq/rocketmq4.8/storeBMaster/commitlog
#consumeueue目录路径
storePathConsumeQueue=/opt/software/rocketmq/rocketmq4.8/storeBMaster/consumequeue
#index目录路径
storePathIndex=/opt/software/rocketmq/rocketmq4.8/storeBMaster/index
#checkpoint文件路径
storeCheckpoint=/opt/software/rocketmq/rocketmq4.8/storeBMaster/checkpoint
#abort文件路径
abortFile=/opt/software/rocketmq/rocketmq4.8/storeBMaster/abort
#指定消息的最大大小
maxMessageSize=65536
#Broker的角色 # - ASYNC_MASTER 异步复制Master # - SYNC_MASTER 同步双写Master # - SLAVE
brokerRole=SYNC_MASTER
#刷盘策略 # - ASYNC_FLUSH 异步刷盘 # - SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
pullMessageThreadPoolNums=128
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡 时IP地址可能读取错误 
brokerIP1=192.168.70.151

修改vim broker-a-s.properties

#指定整个broker集群的名称,或者说是RocketMQ集群的名称 
brokerClusterName=rocket-MS 
#指定master-slave集群的名称。一个RocketMQ集群可以包含多个master-slave集群 
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=centos7_01:9876;centos7_02:9876
#默认为新建Topic所创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议生产环境中关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议生产环境中关闭
autoCreateSubscriptionGroup=true
#Broker对外提供服务的端口,即Broker与producer与consumer通信的端口 因为同一台机器部署了broker-a 和broker-b 这里端口不能重复
listenPort=11911
#HA高可用监听端口,即Master与Slave间通信的端口,默认值为listenPort+1
haListenPort=11912
#指定删除消息存储过期文件的时间为凌晨4点
deleteWhen=04
#指定未发生更新的消息存储文件的保留时长为48小时,48小时后过期,将会被删除
fileReservedTime=48
#指定commitLog目录中每个文件的大小,默认1G
mapedFileSizeCommitLog=1073741824
#指定ConsumeQueue的每个Topic的每个Queue文件中可以存放的消息数量,默认30w条
mapedFileSizeConsumeQueue=300000
#在清除过期文件时,如果该文件被其他线程所占用(引用数大于0,比如读取消息),此时会阻止 此次删除任务,
#同时在第一次试图删除该文件时记录当前时间戳。该属性则表示从第一次拒绝删除 后开始计时,该文件最多可以保留的时长。
#在此时间内若引用数仍不为0,则删除仍会被拒绝。不过 时间到后,文件将被强制删除
destroyMapedFileIntervalForcibly=120000
#指定commitlog、consumequeue所在磁盘分区的最大使用率,超过该值,则需立即清除过期文件
diskMaxUsedSpaceRatio=88
#指定store目录的路径,默认在当前用户主目录中
storePathRootDir=/opt/software/rocketmq/rocketmq4.8/storeASlave
#commitLog目录路径
storePathCommitLog=/opt/software/rocketmq/rocketmq4.8/storeASlave/commitlog
#consumeueue目录路径
storePathConsumeQueue=/opt/software/rocketmq/rocketmq4.8/storeASlave/consumequeue
#index目录路径
storePathIndex=/opt/software/rocketmq/rocketmq4.8/storeASlave/index
#checkpoint文件路径
storeCheckpoint=/opt/software/rocketmq/rocketmq4.8/storeASlave/checkpoint
#abort文件路径
abortFile=/opt/software/rocketmq/rocketmq4.8/storeASlave/abort
#指定消息的最大大小
maxMessageSize=65536
#Broker的角色 # - ASYNC_MASTER 异步复制Master # - SYNC_MASTER 同步双写Master # - SLAVE
brokerRole=SYNC_MASTER
#刷盘策略 # - ASYNC_FLUSH 异步刷盘 # - SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
pullMessageThreadPoolNums=128
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡 时IP地址可能读取错误 
brokerIP1=192.168.70.151

修改JVM启动参数

同上服务器1

修改日志路径

同上服务器1

启动集群

启动NameServer集群

分别在两个rocketmq4.8根目录下(/opt/software/rocketmq/rocketmq4.8/)  执行如下命令

nohup sh bin/mqnamesrv &

tailf -200 /opt/software/rocketmq/rocketmq4.8/logs/rocketmqlogs/namesrv.log 

 NameServer启动成功

启动两个Master

服务器1 centos7_01  进入rocketmq4.8根目录执行

nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a.properties &

服务器2 centos7_02 进入rocketmq4.8根目录执行

nohup sh bin/mqbroker -c conf/2m-2s-async/broker-b.properties &

 broker-a 和 broker-b启动成功

启动两个Slave

 服务器1 centos7_01 进入rocketmq4.8根目录执行

nohup sh bin/mqbroker -c conf/2m-2s-async/broker-b-s.properties &

服务器2 centos7_02 进入rocketmq4.8根目录执行

nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a-s.properties &

 broker-a-s 和broker-b-s启动成功

安装RocketMQ Dashboard 图形化界面

参考连接:Docker 下安装RocketMQ Dashboard (Console)_RunTimeExcepti0n的博客-CSDN博客

停止集群

 停止broker

sh bin/mqshutdown broker

 停止NameServer

sh bin/mqshutdown namesrv

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值