RocketMQ-Console
RocketMQ-Console 是一个针对 Apache RocketMQ 的开源 Web 监控和管理平台。它提供了一个用户友好的界面,通过 Web 浏览器允许用户对 RocketMQ 集群进行管理和监控。这个控制台使得管理和监测 RocketMQ 集群变得更加直观和方便,特别是对于不熟悉命令行操作的用户。
RocketMQ-Console 的主要功能包括:
集群状态监控:展示 RocketMQ 集群的当前状态,包括各个 Broker 的状态、NameServer 的状态以及客户端的连接情况等。
主题管理:允许用户创建、修改和删除主题(Topic),方便地管理消息的分类。
生产者和消费者信息查看:可以查看当前系统中的生产者和消费者的详细信息,包括它们的客户端信息、订阅关系等。
消息查询:支持基于主题、关键字等条件对消息进行查询,方便用户跟踪和调试消息流。
消息重发:支持将消费失败的消息重发给消费者,帮助处理消息消费异常的情况。
DLQ(死信队列)管理:管理那些由于各种原因不能正常消费的消息,用户可以查看、重发或删除这些消息。
监控告警:提供基于某些关键指标的实时监控和告警设置,帮助用户及时发现和处理潜在的问题。
通过提供这些功能,RocketMQ-Console 大大简化了 RocketMQ 的日常管理和维护工作,提高了运维效率,并且帮助用户更好地理解和使用 RocketMQ。它适合用于开发环境和生产环境中对 RocketMQ 集群的监控和管理。安装和使用 RocketMQ-Console,可以进一步提升工作和管理的便捷性,尤其对于大型或复杂的 RocketMQ 应用场景。
1、RocketMQ下载
下载地址:下载 | RocketMQ
解压
2、启动 NameServer
编辑 runserver.cmd 文件
修改启动内存参数 (根据需要设置)
进入bin目录下,双击 mqnamesrv.cmd 启动 RocketMQ 的NameServer
启动后默认端口是 9876
3、启动 Broker
编辑 runbroker.cmd文件
修改启动内存参数 (根据需要设置)
Broker的配置文件
#以下是完整配置
#指定整个broker集群的名称,或者说是RocketMQ集群的名称 brokerClusterName=rocket-MS
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=nameserver1:9876;nameserver2: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=/usr/local/rocketmq-all-4.5.0/store
#commitLog目录路径
storePathCommitLog=/usr/local/rocketmq-all-4.5.0/store/commitlog
#consumeueue目录路径
storePathConsumeQueue=/usr/local/rocketmq-all-4.5.0/store/consumequeue
#index目录路径
storePathIndex=/usr/local/rocketmq-all-4.5.0/store/index
#checkpoint文件路径
storeCheckpoint=/usr/local/rocketmq-all-4.5.0/store/checkpoint
#abort文件路径
abortFile=/usr/local/rocketmq-all-4.5.0/store/abort
#指定消息的最大大小
maxMessageSize=65536
#复制策略
# - 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.3.105
打开CMD窗口,进入RocketMQ的 bin目录下,执行命令
mqbroker.cmd -n localhost:9876
注意:RocketMQ 5.0 版本之后,官方引入了一个新的组件:Proxy !!!
非集群模式下,Broker和Proxy 是同进程部署,一起启动,启动命令变为
mqbroker.cmd -n localhost:9876 --enable-proxy
Broker 启动成功
4、下载RocketMQ-Console
RocketMQ-Console 曾经是 RocketMQ-External 的一个子项目,现在独立出去了,改名为RocketMQ-Dashboard。
RocketMQ-Dashboard下载地址:Release rocketmq-dashboard-1.0.0 · apache/rocketmq-dashboard · GitHub
解压
5、启动RocketMQ-Console
RocketMQ-Console下载的是源码,需要使用IDEA编译项目成Jar包,设置端口 38080
拿到jar包后,打开cmd窗口,执行命令
java -jar rocketmq-dashboard-1.0.0.jar --rocketmq.config.namesrvAddr=localhost:9876
rocketmq.config.namesrvAddr='localhost:9876' 指定的是NameServer的地址。
启动成功
6、访问RocketMQ-Console
设置中文
驾驶舱(主监控页面)
集群界面
查看所有TOPIC
消费者
生产者
查看所有消息
消息轨迹
7、关闭RocketMQ
关闭broker:
#Linux
sh mqshutdown broker
#Windows
mqshutdown.cmd broker
关闭nameserver:
#Linux
sh mqshutdown namesrv
#Windows
mqshutdown.cmd namesrv