当前位置: 首页 > news >正文

RocketMQ, Dashboard, 控制台安装

文章说明

本文主要说明RocketMQ的控制台(Dashboard)的安装过程。工作中一直用的是别人装好的,这次终于自己亲手装了一遍。
由于每次都要启动三个应用,比较烦,于是我写了一键启动脚本,分享给大家。这个脚本可以一键启动RocketMQ的所有应用。还能自动识别应用是否已经启动成功。

文章目录

  • 文章说明
  • 参考说明
  • 控制台(Dashboard)
    • 环境要求
    • 下载
    • 修改配置
    • 打包
    • 启动
    • 访问
    • 控制台使用
  • 一键启动脚本

参考说明

本文内容主要来源于马士兵李瑾老师的视频教程(RocketMQ基础实战版),结合了老师的笔记以及根据自己的实践做了一些修改。

控制台(Dashboard)

官网文档:https://rocketmq.apache.org/zh/docs/4.x/deployment/03Dashboard

环境要求

jdk1.8,Maven 3.2.x+

启动前确认:RocketMQ NameServer和Broker已安装且已经启动成功。

下载

新版本地址(推荐):https://rocketmq.apache.org/zh/download

老版本地址下载:https://codeload.github.com/apache/rocketmq-externals/zip/master

本文用的是RocketMQ Dashboard 1.0.0 新版本。

下载成功后解压到一个源代码目录。例如:D:\Workspace\idea\alibaba\rocketmq-dashboard-1.0.0

修改配置

使用idea载入刚才下载好的源代码,然后在settings中确认maven配置正确。

打开src/main/resources/application.properties文件,进行如下配置

# dashboard服务启动之后的端口
server.port=8089
# 配置NameServer地址,如果多个可以以分号隔开
rocketmq.config.namesrvAddr=localhost:9876

打包

执行mvn install -Dmaven.test.skip=true命令,可以在右侧的Maven页签的lifecycle中双击install,同时勾选Skip Test。

成功的话会在target目录生成jar包:rocketmq-dashboard-1.0.0.jar

启动

启动之前,请先确保配置文件中对应的NameSever和Broker已经启动。否则dashboard启动起来也没读取不到内容。

启动有如下方式

  • 通过打出来的jar包启动。cmd进入项目target目录,执行java -jar rocketmq-dashboard-1.0.0.jar
  • 通过代码直接启动。通过启动类org.apache.rocketmq.dashboard.App启动

访问

浏览器输入localhost:8089,成功后即可进行管理端查看。

控制台使用

运维

  • 你可以修改这个服务使用的namesrv的地址

  • 你可以修改这个服务是否使用VIPChannel(如果你的mq server版本小于3.5.8,请设置不使用)
    在这里插入图片描述

驾驶舱

  • 查看broker的消息总量,左边的是最近5分钟的趋势图。

  • 查看单一主题的消息量(总量/趋势图)
    在这里插入图片描述

集群

  • 查看集群的broker情况,分布情况,cluster与broker关系

  • 查看broker具体信息/运行信息

  • 查看broker配置信息
    在这里插入图片描述

主题页面

  • 展示所有的主题,可以通过搜索框进行过滤

  • 筛选 普通/重试/死信 主题,重试为消息发送失败之后的重试主题。死信就是默认发送失败15次的消息。

  • 添加/更新主题

l clusterName 创建在哪几个cluster上

l brokerName 创建在哪几个broker上

l topicName 主题名

l writeQueueNums 写队列数量

l readQueueNums 读队列数量

l perm //2是写 4是读 6是读写

  • 状态 查询消息投递状态(投递到哪些broker/哪些queue/多少量等)

  • 路由 查看消息的路由(现在你发这个主题的消息会发往哪些broker,对应broker的queue信息)

  • CONSUMER管理(这个topic都被哪些group消费了,消费情况何如)

  • topic配置(查看变更当前的配置)

  • 发送消息(向这个主题发送一个测试消息)

  • 重置消费位点(分为在线和不在线两种情况,不过都需要检查重置是否成功)

  • 删除主题 (会删除掉所有broker以及namesrv上的主题配置和路由信息)
    在这里插入图片描述

消费者页面

  • 展示所有的消费组,可以通过搜索框进行过滤

  • 刷新页面/每隔五秒定时刷新页面

  • 按照订阅组/数量/TPS/延迟 进行排序

  • 添加/更新消费组

l clusterName 创建在哪几个集群上

l brokerName 创建在哪几个broker上

l groupName 消费组名字

l consumeEnable //是否可以消费 FALSE的话将无法进行消费

l consumeBroadcastEnable //是否可以广播消费

l retryQueueNums //重试队列的大小

l brokerId //正常情况从哪消费

l whichBrokerWhenConsumeSlowly//出问题了从哪消费

  • 终端 在线的消费客户端查看,包括版本订阅信息和消费模式

  • 消费详情 对应消费组的消费明细查看,这个消费组订阅的所有Topic的消费情况,每个queue对应的消费client查看(包括Retry消息)

  • 配置 查看变更消费组的配置

  • 删除 在指定的broker上删除消费组
    在这里插入图片描述

生产者页面

通过Topic和Group查询在线的消息生产者客户端

信息包含客户端主机 版本
在这里插入图片描述

消息查询页面

  • 根据Topic和时间区间查询 *由于数据量大 最多只会展示2000条,多的会被忽略

  • 根据Topic和Key进行查询

最多只会展示64条

  • 根据消息主题和消息Id进行消息的查询

  • 消息详情可以展示这条消息的详细信息,查看消息对应到具体消费组的消费情况(如果异常,可以查看具体的异常信息)。可以向指定的消费组重发消息

在这里插入图片描述

一键启动脚本

这个脚本主要用于一键启动RocketMQ的NameServer,Broker,Dashboard三个应用。
并且启动之前会自动识别要启动的应用是否已经启动,启动成功则自动启动下一个。

#!/bin/bash#软件安装目录设置,先读环境变量,读不到则用默认值
ROCKETMQ_HOME=$ROCKETMQ_HOME
if [ -z $ROCKETMQ_HOME]; thenecho "ROCKETMQ_HOME is not set! the program will use default value"ROCKETMQ_HOME=/www/wwwroot/install/rocketmq-all-4.9.7-bin-release
fi
echo "ROCKETMQ_HOME=$ROCKETMQ_HOME"# 启动rocketmq nameserver
cd ${ROCKETMQ_HOME}/bin
# 检查Zookeeper是否启动成功
if jps -ml | grep "namesrv.NamesrvStartup"; thenecho "rocketmq nameserver is running.";
elseecho "rocketmq nameserver is Starting ...";rm -rf nohup.out;nohup sh mqnamesrv &count=0while [ $count -le 10 ]; doif tail -100 nohup.out | grep "Name Server boot success"; thenecho "rocketmq nameserver has been started successfully";breakelsecount=$((count+1))sleep 2fidone
fi# 启动rocketmq broker
# 检查Zookeeper是否启动成功
if jps -ml | grep "org.apache.rocketmq.broker.BrokerStartup"; thenecho "rocketmq broker is running.";
elseecho "rocketmq broker is Starting ...";rm -rf nohup.out;nohup sh mqbroker -c ../conf/broker.conf -n dev-study:9876 autoCreateTopicEnable=true &  count=0while [ $count -le 10 ]; doif tail -100 nohup.out | grep "broker.*success"; thenecho "rocketmq broker has been started successfully";breakelsecount=$((count+1))sleep 2fidone
fi# 启动rocketmq dashboard
cd ${ROCKETMQ_HOME}/dashboard
if jps -ml | grep "rocketmq-dashboard"; thenecho "rocketmq dashboard is running.";
elseecho "rocketmq dashboard is Starting ...";rm -rf nohup.out;nohup java -jar rocketmq-dashboard-1.0.0.jar & count=0while [ $count -le 10 ]; doif tail -100 nohup.out | grep "Tomcat started on port(s)"; thenecho "rocketmq dashboard has been started successfully";breakelsecount=$((count+1))sleep 2fidone
fiecho "All services started.";
http://www.lryc.cn/news/98897.html

相关文章:

  • chrome解决http自动跳转https问题
  • FastGithub 下载
  • TSINGSEE青犀视频安防监控管理平台EasyNVR如何配置鉴权?
  • unittest 数据驱动DDT应用
  • 素数个数——数论
  • express编写一个简单的get接口
  • 【力扣刷题C++】环形链表
  • 如何用Python统计CSDN质量分
  • gin框架内容(三)--中间件
  • 如何在工作中利用Prompt高效使用ChatGPT
  • uniapp-小程序button分享传参,当好友通过分享点开该页面时,进行一些判断……
  • Ceph部署方法介绍
  • GoogleLeNet V2 V3 —— Batch Normalization
  • Mac 系统钥匙串证书不受信任
  • 一个企业级的文件上传组件应该是什么样的
  • 安全渗透重点内容
  • 【触觉智能Purple Pi OH开发板体验】开箱体验:开源主板Purple Pi RK3566 上手指北
  • flink1.16使用消费/生产kafka之DataStream
  • 【多任务编程-线程通信】
  • K8S暴露pod内多个端口
  • Python 列表
  • Rabbitmq的安装与使用(Linux版)
  • Kubernetes对象深入学习之四:对象属性编码实战
  • 深度学习入门教程(2):使用预训练模型来文字生成图片TextToImageGenerationWithNetwork
  • ORA-38760: This database instance failed to turn on flashback database
  • 避免低级错误:深入解析Java的ConcurrentModificationException异常
  • 7.28
  • java线程中的常见方法(详解)
  • 线程池参数配置
  • Spread for Winform 16.2.20231.0 (SP2) Crack