Rocketmq集群搭建

拓扑
主机名 网卡名 IP 作用
mq-master01 ens33 192.168.162.10 broker-a
mq-master02 ens33 192.168.162.11 broker-b
mq-slave01 ens33 192.168.162.12 broker-a-s
mq-slave02 ens33 192.168.162.14 broker-b-s
mq-console-nameserver ens33 192.168.162.15 nameserver,console

双master 双slave,同步双写,同步刷盘

1.基础准备
#这里的基础准备很重要,要引起重视#主机名映射,5台均相同
[root@mq-console-nameserver ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.162.10         mq-master01
192.168.162.11         mq-master02
192.168.162.12         mq-slave01
192.168.162.14         mq-slave02
192.168.162.15         mq-console-nameserver
#关闭防火墙相关的所有东西,5台均相同
[root@mq-console-nameserver ~]# cat /etc/sysconfig/selinux |grep '^SELINUX='
SELINUX=disabled
[root@mq-console-nameserver ~]# systemctl stop iptables
Failed to stop iptables.service: Unit iptables.service not loaded.
[root@mq-console-nameserver ~]# systemctl disable firewalld
[root@mq-console-nameserver ~]# systemctl stop firewalld
[root@mq-console-nameserver ~]# getenforce
Disabled
#配置java环境,5台均相同
[root@mq-console-nameserver ~]# yum  -y  install java-devel
[root@mq-console-nameserver ~]# export JAVA_HOME=/usr/lib/jvm/java
[root@mq-console-nameserver ~]# echo "export JAVA_HOME=/usr/lib/jvm/java" >> /etc/profile
[root@mq-console-nameserver ~]# echo "CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> /etc/profile
[root@mq-console-nameserver ~]# echo "export PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
[root@mq-console-nameserver ~]# source  /etc/profile
[root@mq-console-nameserver ~]# java -version
[root@mq-console-nameserver ~]# jps#一键执行
-------------------------------------------------------------------------------------
echo "192.168.162.10  mq-master01 " >> /etc/hosts
echo "192.168.162.11  mq-master02 " >> /etc/hosts
echo "192.168.162.12  mq-slave01 " >> /etc/hosts
echo "192.168.162.14  mq-slave02 " >> /etc/hosts
echo "192.168.162.15  mq-console-nameserver " >> /etc/hostssystemctl stop iptables
systemctl disable firewalld
getenforce
yum  -y  install java-devel
export JAVA_HOME=/usr/lib/jvm/java
echo "export JAVA_HOME=/usr/lib/jvm/java" >> /etc/profile
echo "CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> /etc/profile
echo "export PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile   #这行可能有点问题
source  /etc/profile
java -version
which java
jps
2.开始部署

版本:rocketmq3.2.6

网盘:https://pan.baidu.com/s/16UAXHwzzy0DoGX4u93vK7A

提取码:rjib

2.1四节点机器基础部署
#安装rocketmq,创建存储路径,4台机器一样
[root@mq-master01 ~]# mkdir -p /app/software
[root@mq-master01 ~]# ll
total 11580
-rw-r--r-- 1 root root 11854578 Feb 27 10:29 rocketmq3.2.6.zip
[root@mq-master01 ~]# cd /app/software
[root@mq-master01 software]# unzip rocketmq3.2.6.zip
[root@mq-master01 software]# ln -s /app/software/alibaba-rocketmq3.2.6 /app/rocketmq
[root@mq-master01 software]# mkdir -p /app/software/rocketmq/store
[root@mq-master01 software]# mkdir -p /app/software/rocketmq/store/commitlog
[root@mq-master01 software]# mkdir -p /app/software/rocketmq/store/consumequeue
[root@mq-master01 software]# mkdir -p /app/software/rocketmq/store/index
[root@mq-master01 software]# mkdir -p /app/software/rocketmq/store/checkpoint
[root@mq-master01 software]# mkdir -p /app/software/rocketmq/store/abort#一键执行
--------------------------------------------------------
mkdir -p /app/software
cd /app/software
unzip rocketmq3.2.6.zip
ln -s /app/software/alibaba-rocketmq3.2.6 /app/rocketmq
mkdir -p /app/software/rocketmq/store
mkdir -p /app/software/rocketmq/store/commitlog
mkdir -p /app/software/rocketmq/store/consumequeue
mkdir -p /app/software/rocketmq/store/index
mkdir -p /app/software/rocketmq/store/checkpoint
mkdir -p /app/software/rocketmq/store/abort
2.2双主备节点broker配置
##找到配置文件,末行模式,注释所有,重新插入,四节点均是如此
[root@mq-master01 software]# sed -i s/^/#/ /app/rocketmq/conf/2m-2s-sync/broker-a.properties
[root@mq-master02 software]# sed -i s/^/#/ /app/rocketmq/conf/2m-2s-sync/broker-b.properties
[root@mq-slave01 software]# sed -i s/^/#/ /app/rocketmq/conf/2m-2s-sync/broker-a-s.properties
[root@mq-slave02 software]# sed -i s/^/#/ /app/rocketmq/conf/2m-2s-sync/broker-b-s.properties#插入的内容只有起始的三项不同以外,其他均相同
brokerName,brokerId,brokerRole
mq-master01 : broker-a
[root@mq-master01 software]# vim /app/rocketmq/conf/2m-2s-sync/broker-a.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样  例如:在a.properties 文件中写 broker-a  在b.properties 文件中写 broker-b
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,这里nameserver是单台,如果nameserver是多台集群的话,就用分号分割(即namesrvAddr=ip1:port1;ip2:port2;ip3:port3)
namesrvAddr=192.168.162.15:9876;
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/app/software/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/app/software/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/app/software/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/app/software/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/app/software/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/app/software/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=MASTER                       #要配置为MASTER或SLAVE的角色
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
mq-master02 : broker-b
[root@mq-master02 software]# vim /app/rocketmq/conf/2m-2s-sync/broker-b.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样  例如:在a.properties 文件中写 broker-a  在b.properties 文件中写 broker-b
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,这里nameserver是单台,如果nameserver是多台集群的话,就用分号分割(即namesrvAddr=ip1:port1;ip2:port2;ip3:port3)
namesrvAddr=192.168.162.15:9876;
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/app/software/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/app/software/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/app/software/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/app/software/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/app/software/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/app/software/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=MASTER                       #要配置为MASTER或SLAVE的角色
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
mq-slave01 : broker-a-s
[root@mq-slave01 software]# vim /app/rocketmq/conf/2m-2s-sync/broker-a-s.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样  例如:在a.properties 文件中写 broker-a  在b.properties 文件中写 broker-b
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,这里nameserver是单台,如果nameserver是多台集群的话,就用分号分割(即namesrvAddr=ip1:port1;ip2:port2;ip3:port3)
namesrvAddr=192.168.162.15:9876;
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/app/software/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/app/software/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/app/software/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/app/software/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/app/software/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/app/software/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE                       #要配置为MASTER或SLAVE的角色
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
mq-slave02 : broker-b-s
[root@mq-slave02 software]# vim /app/rocketmq/conf/2m-2s-sync/broker-b-s.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样  例如:在a.properties 文件中写 broker-a  在b.properties 文件中写 broker-b
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,这里nameserver是单台,如果nameserver是多台集群的话,就用分号分割(即namesrvAddr=ip1:port1;ip2:port2;ip3:port3)
namesrvAddr=192.168.162.15:9876;
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/app/software/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/app/software/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/app/software/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/app/software/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/app/software/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/app/software/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE                       #要配置为MASTER或SLAVE的角色
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
2.3四节点broker日志配置修改
#修改配置,四台机器操作均相同
root@mq-master01 ~]# mkdir -p /app/rocketmq/logs
[root@mq-master01 ~]# cd /app/rocketmq/conf
[root@mq-master01 conf]# sed -i 's#${user.home}#/app/rocketmq#g' *.xml#一键执行
---------------------------------------------------------------------------
mkdir -p /app/rocketmq/logs
cd /app/rocketmq/conf
sed -i 's#${user.home}#/app/rocketmq#g' *.xml
2.4nameserver 部署
#安装rocketmq,配置端口
[root@mq-console-nameserver ~]# cd /app/software/
[root@mq-console-nameserver software]# unzip rocketmq3.2.6.zip
[root@mq-console-nameserver software]# ln -s /app/software/alibaba-rocketmq3.2.6 /app/nameserver-rocketmq
[root@mq-console-nameserver software]# echo "stenPort=9876" >> /app/nameserver-rocketmq/conf/namesrv.properties
[root@mq-console-nameserver software]# cat /app/nameserver-rocketmq/conf/namesrv.properties#一键执行
-----------------------------------------------------------------------------------
cd /app/software/
unzip rocketmq3.2.6.zip
ln -s /app/software/alibaba-rocketmq3.2.6 /app/nameserver-rocketmq
echo "stenPort=9876" > /app/nameserver-rocketmq/conf/namesrv.properties
cat /app/nameserver-rocketmq/conf/namesrv.properties
3.管理集群

启动:先开NameServer,再开BrokerServer

停止:先关BrokerServer,再关NameServer

3.1前期配置
#指定rocket启动配置中的Java_home,4个Broker节点上均是相同操作
[root@mq-master01 bin]# echo "JAVA_HOME=/usr/lib/jvm/java" >> /app/rocketmq/bin/runbroker.sh#扩大内存,建议增加 4~8G swap大小以扩大系统内存备用,reboot,刷新,5台机器相同操作
[root@mq-master01 bin]# dd if=/dev/zero of=/swapfile+ bs=1024 count=4096000
[root@mq-master01 bin]# mkswap /swapfile
[root@mq-master01 bin]# swapon /swapfile
[root@mq-master01 bin]# swapon -a
[root@mq-master01 bin]# echo "/swapfile+ swap    swap    defaults      0    0" >> /etc/fstab
[root@mq-master01 bin]# sync;reboot#一键执行
------------------------------------------------------------------------------------
echo "JAVA_HOME=/usr/lib/jvm/java" >> /app/rocketmq/bin/runbroker.sh
dd if=/dev/zero of=/swapfile+ bs=1024 count=4096000
mkswap /swapfile
swapon /swapfile
swapon -a
echo "/swapfile+ swap    swap    defaults      0    0" >> /etc/fstab
3.2启动NameServer
#启动mqnamesrv
[root@mq-console-nameserver software]# cd /app/nameserver-rocketmq/bin/
[root@mq-console-nameserver bin]# nohup sh mqnamesrv -c /app/nameserver-rocketmq/conf/namesrv.properties >/dev/null 2>&1 &
#这里启动需要时间,稍等4~5秒
[root@mq-console-nameserver bin]# lsof -i:9876#一键执行
-------------------------------------------------------------------------------------
cd /app/nameserver-rocketmq/bin/
nohup sh mqnamesrv -c /app/nameserver-rocketmq/conf/namesrv.properties >/dev/null 2>&1 &
lsof -i:9876
3.3.启动BrokerServer
#找到启动目录与配置文件,4个brocker节点对应依次启动
# mq-master01
[root@mq-master01 ~]# cd /app/rocketmq/bin
[root@mq-master01 bin]# nohup sh mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-a.properties >/dev/null 2>&1 &
[root@mq-master01 bin]# ps -ef|grep rocketmq
[root@mq-master01 bin]# lsof -i:10911
[root@mq-master01 bin]# jps
[root@mq-master01 bin]# tail -f -n 500 /app/rocketmq/logs/rocketmqlogs/broker.log#一键执行
-------------------------------------------------------------------------------------
cd /app/rocketmq/bin
nohup sh mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-a.properties >/dev/null 2>&1 &
ps -ef|grep rocketmq
lsof -i:10911
jps
tail -f -n 500 /app/rocketmq/logs/rocketmqlogs/broker.log
# mq-master02
[root@mq-master01 ~]# cd /app/rocketmq/bin
[root@mq-master01 bin]# nohup sh mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-b.properties >/dev/null 2>&1 &
[root@mq-master01 bin]# ps -ef|grep rocketmq
[root@mq-master01 bin]# lsof -i:10911
[root@mq-master01 bin]# jps
[root@mq-master01 bin]# tail -f -n 500 /app/rocketmq/logs/rocketmqlogs/broker.log#一键执行
-------------------------------------------------------------------------------------
cd /app/rocketmq/bin
nohup sh mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-b.properties >/dev/null 2>&1 &
ps -ef|grep rocketmq
lsof -i:10911
jps
tail -f -n 500 /app/rocketmq/logs/rocketmqlogs/broker.log
# mq-slave01
[root@mq-master01 ~]# cd /app/rocketmq/bin
[root@mq-master01 bin]# nohup sh mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-a-s.properties >/dev/null 2>&1 &
[root@mq-master01 bin]# ps -ef|grep rocketmq
[root@mq-master01 bin]# lsof -i:10911
[root@mq-master01 bin]# jps
[root@mq-master01 bin]# tail -f -n 500 /app/rocketmq/logs/rocketmqlogs/broker.log#一键执行
-------------------------------------------------------------------------------------
cd /app/rocketmq/bin
nohup sh mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-a-s.properties >/dev/null 2>&1 &
ps -ef|grep rocketmq
lsof -i:10911
jps
tail -f -n 500 /app/rocketmq/logs/rocketmqlogs/broker.log
# mq-slave02
[root@mq-master01 ~]# cd /app/rocketmq/bin
[root@mq-master01 bin]# nohup sh mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-b-s.properties >/dev/null 2>&1 &
[root@mq-master01 bin]# ps -ef|grep rocketmq
[root@mq-master01 bin]# lsof -i:10911
[root@mq-master01 bin]# jps
[root@mq-master01 bin]# tail -f -n 500 /app/rocketmq/logs/rocketmqlogs/broker.log#一键执行
-------------------------------------------------------------------------------------
cd /app/rocketmq/bin
nohup sh mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-b-s.properties >/dev/null 2>&1 &
ps -ef|grep rocketmq
lsof -i:10911
jps
tail -f -n 500 /app/rocketmq/logs/rocketmqlogs/broker.log
3.4查看状态
# mq-console-nameserver
[root@mq-console-nameserver bin]# lsof -i:9876
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    35433 root   51u  IPv6  63765      0t0  TCP *:sd (LISTEN)
java    35433 root   60u  IPv6  64923      0t0  TCP mq-console-nameserver:sd->mq-master01:53438 (ESTABLISHED)
java    35433 root   62u  IPv6  64984      0t0  TCP mq-console-nameserver:sd->mq-slave01:45846 (ESTABLISHED)
java    35433 root   63u  IPv6  65007      0t0  TCP mq-console-nameserver:sd->mq-master02:48828 (ESTABLISHED)
java    35433 root   64u  IPv6  65009      0t0  TCP mq-console-nameserver:sd->mq-slave02:59134 (ESTABLISHED)
3.5停掉集群
#先停掉broker,四节点相同操作
[root@mq-master01 ~]# cd /app/rocketmq/bin
[root@mq-master01 bin]# sh mqshutdown broker
[root@mq-master01 bin]# lsof -i:10911#一键执行
-------------------------------------------------------------------------------------
cd /app/rocketmq/bin
sh mqshutdown broker
lsof -i:10911
#再停掉nameserver
[root@mq-console-nameserver ~]# cd /app/nameserver-rocketmq/bin/
[root@mq-console-nameserver bin]# sh mqshutdown namesrv
[root@mq-console-nameserver bin]# lsof -i:9876#一键执行
-------------------------------------------------------------------------------------
cd /app/nameserver-rocketmq/bin/
sh mqshutdown namesrv
lsof -i:9876

Rockermq-console 监控平台部署

名称:rocketmq-externals.tar.gz

网盘:https://pan.baidu.com/s/19PROiNivWBiOIV5NkOBBqA

提取码:r1cf

1.重启集群,下载监控软件
#首先再次启动整个集群,先nameserver,再broker
[root@mq-console-nameserver bin]# lsof -i:9876
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    35665 root   51u  IPv6  65469      0t0  TCP *:sd (LISTEN)
java    35665 root   60u  IPv6  65652      0t0  TCP mq-console-nameserver:sd->mq-master01:57796 (ESTABLISHED)
java    35665 root   62u  IPv6  65656      0t0  TCP mq-console-nameserver:sd->mq-slave01:46682 (ESTABLISHED)
java    35665 root   63u  IPv6  65660      0t0  TCP mq-console-nameserver:sd->mq-master02:48932 (ESTABLISHED)
java    35665 root   64u  IPv6  65662      0t0  TCP mq-console-nameserver:sd->mq-slave02:59136 (ESTABLISHED)
#利用网盘将rocketmq-externals.tar.gz下载至本地再rz(yum安装lrzsz)传至/app/software路径下
[root@mq-console-nameserver software]# ll
total 32644
drwxr-xr-x  9 root root      132 Apr 24  2018 alibaba-rocketmq3.2.6
-rw-r--r--  1 root root 11854578 Feb 27 10:32 rocketmq3.2.6.zip
-rw-r--r--  1 root root 21562027 Feb 28  2020 rocketmq-externals.tar.gz
[root@mq-console-nameserver software]# pwd
/app/software
2.安装软件,修改配置
# mq-console-nameserver#解压,安装,做软链
[root@mq-console-nameserver software]# tar -xvzf rocketmq-externals.tar.gz
[root@mq-console-nameserver software]# ln -s /app/software/rocketmq-externals /app
[root@mq-console-nameserver software]# ll /app/rocketmq-externals#修改监控配置,注意这下面三项配置,其他默认即可
[root@mq-console-nameserver software]# vim /app/rocketmq-externals/rocketmq-console/src/main/resources/application.properties
#默认访问端口是8080
server.port=8080
#if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
#如果nameserver是多台集群机器,则后面就配置多个ip+port,即"rocketmq.config.namesrvAddr=ip1:port;ip2:port"
rocketmq.config.namesrvAddr=192.168.162.15:9876
#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
#注意这个参数,是否设置为false或true取决于rocketmq的版本号
rocketmq.config.isVIPChannel=false    #一键执行
-------------------------------------------------------------------------------------
tar -xvzf rocketmq-externals.tar.gz
ln -s /app/software/rocketmq-externals /app
ll /app/rocketmq-externals
vim /app/rocketmq-externals/rocketmq-console/src/main/resources/application.properties
3.Maven编译工具安装

版本:apache-maven-3.3.9-bin.tar.gz

# mq-console-nameserver#wget下载,安装配置,添加进系统的环境变量
[root@mq-console-nameserver software]# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
[root@mq-console-nameserver software]# tar -zvxf apache-maven-3.3.9-bin.tar.gz
[root@mq-console-nameserver software]# mv apache-maven-3.3.9 /usr/local/maven
[root@mq-console-nameserver software]# echo "" >> /etc/profile
[root@mq-console-nameserver software]# echo "# set MAVEN_HOME" >> /etc/profile
[root@mq-console-nameserver software]# echo "export MAVEN_HOME=/usr/local/maven" >> /etc/profile
#这里"$"属于特殊字符,必须需要转义(取消特殊含义)才能正常写进去,否则路径会自动变化后写入
[root@mq-console-nameserver software]# echo "export PATH=\$PATH:\$MAVEN_HOME/bin" >> /etc/profile
[root@mq-console-nameserver software]# tail -5 /etc/profile
[root@mq-console-nameserver software]# source /etc/profile
[root@mq-console-nameserver software]# mvn --version
#出现"S name: "linux", version: "3.10.0-1062.12.1.el7.x86_64", arch: "amd64", family: "unix""字样即为安装配置成功#一键执行
-------------------------------------------------------------------------------------
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
tar -zvxf apache-maven-3.3.9-bin.tar.gz
mv apache-maven-3.3.9 /usr/local/maven
echo "" >> /etc/profile
echo "# set MAVEN_HOME" >> /etc/profile
echo "export MAVEN_HOME=/usr/local/maven" >> /etc/profile
echo "export PATH=\$PATH:\$MAVEN_HOME/bin" >> /etc/profile
tail -5 /etc/profile
source /etc/profile
mvn --version
4.编译rocketmq-console
# mq-console-nameserver# 开始对rocketmq-console进行编译打包运行,需要一段时间,3min~3h不等
# 故障时间主要和前面各种环境变量,内存大小有很大关系
[root@mq-console-nameserver software]# cd /app/rocketmq-externals/rocketmq-console/
[root@mq-console-nameserver rocketmq-console]# mvn clean package -Dmaven.test.skip=true#完成后正常输出如:
...
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:41 min
[INFO] Finished at: 2020-02-27T17:02:55-05:00
[INFO] Final Memory: 38M/116M
[INFO] ------------------------------------------------------------------------#一键执行
-------------------------------------------------------------------------------------
cd /app/rocketmq-externals/rocketmq-console/
mvn clean package -Dmaven.test.skip=true
5.启动监控
# mq-console-nameserver#找到对应的jar包,我这里是  rocketmq-console-ng-1.0.0.jar
[root@mq-console-nameserver rocketmq-console]# ll
[root@mq-console-nameserver rocketmq-console]# ll target/
total 36288
-rw-r--r-- 1 root root     8339 Feb 27 17:02 checkstyle-cachefile
-rw-r--r-- 1 root root     5852 Feb 27 17:02 checkstyle-checker.xml
-rw-r--r-- 1 root root     9035 Feb 27 17:02 checkstyle-result.xml
drwxr-xr-x 4 root root       80 Feb 27 17:02 classes
drwxr-xr-x 3 root root       25 Feb 27 17:02 generated-sources
drwxr-xr-x 2 root root       28 Feb 27 17:02 maven-archiver
drwxr-xr-x 3 root root       35 Feb 27 17:02 maven-status
-rw-r--r-- 1 root root 29611074 Feb 27 17:02 rocketmq-console-ng-1.0.0.jar
-rw-r--r-- 1 root root  3765200 Feb 27 17:02 rocketmq-console-ng-1.0.0.jar.original
-rw-r--r-- 1 root root  3740413 Feb 27 17:02 rocketmq-console-ng-1.0.0-sources.jar
[root@mq-console-nameserver rocketmq-console]# nohup java -jar target/rocketmq-console-ng-1.0.0.jar  >/dev/null 2>&1 &
[root@mq-console-nameserver rocketmq-console]# lsof -i:8080#也可以直接跟NameServer的ip和端口进行启动
# java -jar rocketmq-console-ng-1.0.0.jar --server.port=8080 --rocketmq.config.namesrvAddr=192.168.162.15:9876#如果NameServer有多台集群机器的话,后面就多加
# java -jar rocketmq-console-ng-1.0.0.jar --server.port=8080 --rocketmq.config.namesrvAddr=192.168.162.15:9876;192.168.162.16:9876#一键执行
-------------------------------------------------------------------------------------
nohup java -jar target/rocketmq-console-ng-1.0.0.jar  >/dev/null 2>&1 &
lsof -i:8080
效果
#还是有一点问题,一时半会解决不了,后续有时间研究下再做更新补充

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OrNczYXb-1582901379128)(…/Appapp/Roaming/Typora/typora-user-images/image-20200228222923675.png)]

未完待续…

Rocketmq集群搭建相关推荐

  1. 【有料】4 种高可用 RocketMQ 集群搭建方案!

    背景 笔者所在的业务线,最初化分为三个服务,由于业务初期业务复杂度相对简单,三个业务服务都能很好的独立完成业务功能. 随着产品迭代,业务功能越来越多后慢慢也要面对高并发.业务解耦.分布式事务等问题,所 ...

  2. RocketMQ集群搭建-4.2.0版本

    首发于我的博客: www.liutf.com/ 首发链接:www.liutf.com/posts/14196- 背景 由于公司内部用的RocketMQ消息中间件是个单点实例,随着业务发展,越来越多的应 ...

  3. rocketMQ集群搭建的坑。

    1.启动nameserver和broker时,报错: nohup: ignoring input and appending output to 'nohup.out' 网上的解决办法大多不行,这里介 ...

  4. RocketMq单机和集群搭建教程

    文章目录 1. rocketMQ单机版安装 2. rocketMQ集群方案 3. rocketMQ集群搭建 4. Dleger搭建rokcetMQ高可用集群 5. 启动rockerMQ控制台界面 6. ...

  5. 好客租房 — 项目发布以及各种服务集群搭建

    文章目录 1 .部署架构 2 .部署计划 2.1.MySQL服务 2.1.1.架构 2.1.2.规划 2.1.3.实施 2.1.3.1.部署pxc集群 2.1.3.2.部署MS架构 2.1.3.3.部 ...

  6. 常用服务的集群搭建(redis、MQ、es、zookerper)

    常用服务的集群搭建(redis.MQ.es.zookerper) 1.集群概述 1.1什么是集群 1.1.1集群概念 集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地 ...

  7. 双RocketMq集群的搭建

    一.双Master RocketMq集群的搭建 1.服务器环境: 序号 IP 用户名 角色 模式 1 192.168.211.128 root nameServer1,brokerServer1 Ma ...

  8. rocketMQ —— 02(集群搭建、rocketmq工作原理)

    目录标题 一.相关推荐 二.基本架构图: 三.集群模式 1.单Master模式(这种单节点的理论上不叫集群) 2.多Master模式 3.多Master多Slave模式(异步) 4.多Master多S ...

  9. 第三章:RocketMQ集群与搭建

    数据复制与刷盘策略 复制策略 ​ 复制策略是Broker的Master与Slave间的数据同步方式.分为同步复制与异步复制 同步复制(SYNC_MASTER):消息写入master后,master会等 ...

最新文章

  1. 巧用rsyslog收集多套日志并做单套日志的过滤分离
  2. [linux] 如果修改用户的密码
  3. Python+Selenium学习笔记8 - 多表单多窗口切换
  4. Postgres客户端编码问题
  5. 使用 ReSharper,输入即遵循 StyleCop 的代码格式化规范
  6. 逼自己玩命学了3个多月,吃透这19个架构视频!分享给你,让你今年进个大厂!(限时领)...
  7. if单分支,二分支,多分支
  8. 一行 Python 代码能实现这么多丧心病狂的功能?
  9. 计算机应用基础全套课件图文,计算机应用基础教程(全套课件)综述.ppt
  10. sca60c使用程序_第3部分:SCA应用程序的工作负载平衡的WebSphere MQ客户端连接
  11. JDBC数据库驱动的下载、安装与连接
  12. Android聊天软件开发(基于网易云IM即时通讯)——环境搭建(一)
  13. Structed Streaming(Continuous Processing报错):StreamingQueryException;java.util.NoSuchElementException
  14. 信息系统自动决策机制的使用
  15. 实现一个简单的H5领红包的动画
  16. 基本的Dos命令以及Windows常用命令
  17. C++中cv::Mat矩阵任意取其中一块或一行一列如何操作
  18. 2018 最新注册码【激活码】、在线激活 pycharm 完整方法(亲测有效)【2018.05.08 重大更新!!!!】
  19. 智能交通工程质量的第三方监测
  20. 看山还是山,看水还是水

热门文章

  1. 高考利器分享,防止信号乱入!
  2. android 关闭硬件加速
  3. [转] 最牛B 的 Linux Shell 命令
  4. HTCDesire HD(g10)完整刷机教程
  5. dnf服务器预更新状态,根据DNF服务器现状 预测未来更新情况
  6. 反恐精英服务器维护到几点,CSOL4月22日更新维护公告 停机维护到几点
  7. 无音乐不运动,五款高性价比运动防水蓝牙耳机推荐
  8. 一个男人关心的东西 决定了他的层次
  9. Evil.js源码解读
  10. 微信小程序自定义组件——插槽