栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

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

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练习生》,如果觉得有用,也可赠送作者一杯咖啡 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711101.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号