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

``` ​

image.png

6、启动注册中心nameSrv

2台机器都启动nameSrv
进入到/tools/rocketmq-4.9.2 目录

提前创建好目录
nohup sh bin/mqnamesrv > ./logs/namesrv.log 2>&1 &

7、启动broker

bash复制代码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 &

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

1、控制台简单介绍

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

2、下载RocketMq-dashboard

git项目地址:github.com/apache/rock…
将下载好的压缩包上传到服务器/tools目录下

3、解压文件

tar -zxvf rocketmq-dashboard-master.zip

4、进入到目录

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

5、修改配置文件 application.yml

image.png

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

mvn clean package -Dmaven.test.skip=true
这一步可能会出现下面的问题,继续执行上面的打包命令即可,会打包成功
csharp复制代码[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.11.3:install-node-and-yarn (install node and yarn) on project rocketmq-dashboard: Could not download Yarn: Could not download https://github.com/yarnpkg/yarn/releases/download/v1.22.10/yarn-v1.22.10.tar.gz: Remote host terminated the handshake: SSL peer shut down incorrectly -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

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

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

8、启动成功,访问页面

image.png

文章到此结束!

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
4月前
|
消息中间件 Docker 容器
Docker中的RabbitMQ已经启动运行,但是管理界面打不开
Docker中的RabbitMQ已经启动运行,但是管理界面打不开
324 0
|
4月前
|
消息中间件 数据可视化 RocketMQ
docker 安装 rocketmq可视化插件
docker 安装 rocketmq可视化插件
136 0
|
4月前
|
Linux 智能硬件
Linux MQTT智能家居项目(LED界面的布局设置)
Linux MQTT智能家居项目(LED界面的布局设置)
65 0
|
4月前
|
Linux 智能硬件
Linux MQTT智能家居项目(智能家居界面布局)
Linux MQTT智能家居项目(智能家居界面布局)
69 0
|
4月前
|
消息中间件 数据可视化 Shell
完美解决 RabbitMQ 可视化界面中 Overview 不显示图形的问题
完美解决 RabbitMQ 可视化界面中 Overview 不显示图形的问题
444 0
|
消息中间件 存储 Prometheus
可视化界面工具可以用于管理和监控 Apache RocketMQ
可视化界面工具可以用于管理和监控 Apache RocketMQ
1896 3
|
消息中间件 XML 存储
优秀的 RocketMQ 可视化管理工具 GUI 客户端
优秀的 RocketMQ 可视化管理工具 GUI 客户端
2940 1
|
消息中间件 数据可视化 API
rocketmq中可视化和池化
rocketmq获取默认的MQAdminExt时候,需要进行对象的获取,主要在rocketmq可视化中,方便使用,池化作为一个循环利用的过程,其类似于我们常用的数据库连接池一样,节省启动的成本。同时MQAdminExt是作为二次开发的一个主要使用的类。
517 0
rocketmq中可视化和池化
|
消息中间件 存储 运维
消息队列 RabbitMQ 遇上可观测--业务链路可视化
本篇文章主要介绍阿里云消息队列 RabbitMQ 版的可观测功能。RabbitMQ 的可观测能力相对开源有了全面的加强,为业务链路保驾护航。
166 0
消息队列 RabbitMQ  遇上可观测--业务链路可视化
|
消息中间件 数据安全/隐私保护
解决第一次安装后无法访问RabbitMQ的UI管理界面问题#127.0.0.1:15672无法访问#localhhost:15672无法访问
解决第一次安装后无法访问RabbitMQ的UI管理界面问题#127.0.0.1:15672无法访问#localhhost:15672无法访问
593 0