Linxu下RocketMq及可视化界面的搭建

1、下载RocketMq

下载rocketmq-4.9.2-bin-release.zip,并解压到/tools  重命名为rocketmq-4.9.2

下载地址:Index of /release_notes

选择自己的版本,我这里选择的4.9.2

2、创建目录

2台主机分别创建如下目录

mkdir /tools/rocketmq/store

mkdir /tools/rocketmq/store/commitlog

mkdir /tools/rocketmq/store/consumequeue

mkdir /tools/rocketmq/store/index

mkdir /tools/rocketmq/logs

3、修改配置文件

进入到RocketMQ的conf目录

cd /tools/rocketmq-4.9.2/conf

cp -r 2m-2s-async myconf
 

broker-a.properties

brokerClusterName=DefaultCluster
brokerName=broker-a
#集群中 0 表示 Master,>0 表示 Slave
brokerId=0
brokerRole=ASYNC_MASTER
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH

#指定broker的IP
brokerIP1=192.168.1.2
#nameServer地址,集群用分号分割
namesrvAddr=192.168.1.2:9876;192.168.1.3:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/tools/rocketmq/store

#commitLog 存储路径
storePathCommitLog=/tools/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/tools/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/tools/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/tools/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/tools/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000

#checkTransactionMessageEnable=false
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessaeThreadPoolNums=128

#发送消息是否使用可重入锁
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=300  #或者更大

broker-a-s.properties

brokerClusterName=DefaultCluster
brokerName=broker-a
#集群中 0 表示 Master,>0 表示 Slave
brokerId=1
brokerRole=SLAVE
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH

#指定broker的IP
brokerIP1=192.168.1.4
#nameServer地址,集群用分号分割
namesrvAddr=192.168.1.3:9876;192.168.1.4:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#Broker 对外服务的监听端口
listenPort=10912
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/usr/local/rocketmq/store2
#commitLog 存储路径

storePathCommitLog=/usr/local/rocketmq/store2/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/usr/local/rocketmq/store2/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store2/index
#checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/store2/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/store2/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000

#checkTransactionMessageEnable=false
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessaeThreadPoolNums=128

#发送消息是否使用可重入锁
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=300  #或者更大

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

4、创建主题、订阅组

(主题:myTopic    ,    订阅组: customerGroup)

sh ./bin/mqadmin updateTopic -t myTopic -c DefaultCluster -n "192.168.1.3:9876;192.168.1.4:9876"

sh bin/mqadmin updateSubGroup -c DefaultCluster -g customerGroup -n "192.168.1.3:9876;192.168.1.4:9876"

5、修改rocketmq启动脚本

适当修改JVM内存大小

vim /tools/rocketmq-4.9.2/bin/runbroker.sh

vim /tools/rocketmq-4.9.2/bin/runserver.sh

vim /tools/rocketmq-4.9.2/bin/tools.sh

 6、启动注册中心nameSrv

        2台机器都启动nameSrv

        进入到/tools/rocketmq-4.9.2 目录,创建log文件夹

#提前创建好目录

nohup sh bin/mqnamesrv > ./logs/namesrv.log 2>&1 &

7、启动broker

192.168.1.3 执行: 

nohup sh bin/mqbroker -c conf/myconf/broker-a.properties > ./logs/broker-a.log 2>&1 &

nohup sh bin/mqbroker -c conf/myconf/broker-a-s.properties > ./logs/broker-b-s.log 2>&1 &

 

192.168.1.4执行:

nohup sh bin/mqbroker -c conf/myconf/broker-b.properties > ./logs/broker-b.log 2>&1 &

nohup sh bin/mqbroker -c conf/myconf/broker-b-s.properties > ./logs/broker-a-s.log 2>&1 &

以上便是搭建集群完成,接下来我们需要可视化界面,继续可视化界面搭建

8、简单介绍

原有的rocketmq-console已被rocketmq-externals单独列为一个项目,现在取名:rocketmq-dashboard
rocketmq-externals地址:GitHub - apache/rocketmq-externals: Mirror of Apache RocketMQ (Incubating)

2、下载RocketMq-dashboard

git项目地址:https://github.com/apache/rocketmq-dashboard

将下载好的压缩包上传到服务器/tools目录下

3、解压文件

tar -zxvf rocketmq-dashboard-master.zip

4、进入到目录 

/tools/rocketmq-dashboard-master/src/main/resources

5、修改配置文件 application.yml

6、进入到 /tools/rocketmq-dashboard-master 使用maven命令打包

mvn clean package -Dmaven.test.skip=true

7、进入目录 /tools/rocketmq-dashboard-master/target 执行启动jar命令

nohup java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar &

8、启动成功,访问页面 

文章到此结束!

   更多编程内容,请扫码关注《coder练习生》,如果觉得有用,也可赠送作者一杯咖啡 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ybb_ymm

你的鼓励会是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值