【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起实践一下RocketMQ服务及其控制台安装指南

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
MSE Nacos 企业版免费试用,1600元额度,限量50份
简介: 【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起实践一下RocketMQ服务及其控制台安装指南

前提条件


下载地址:前往 rocketmq.apache.org/release_not… ,下载 Binary 文件即可,例如: RocketMQ 4.5.1的下载地址



系统要求


  • 64位操作系统,生产环境建议Linux/Unix/MacOS(Windows操作系统安装说明详见 Windows操作系统安装教程)
  • 64位JDK 1.8+
  • 4G+的可用磁盘



Linux/Unix/MacOS安装教程


解压压缩包

unzip rocketmq-all-4.5.1-bin-release.zip


切换目录到RocketMQ根目录

cd rocketmq-all-4.5.1-bin-release


启动Name Server

nohup sh bin/mqnamesrv &


验证是否启动OK:

tail -f ~/logs/rocketmqlogs/namesrv.log



如果成功启动,能看到类似如下的日志:


2019-07-18 17:03:56 INFO main - The Name Server boot success. ...

启动 Broker

nohup sh bin/mqbroker -n localhost:9876 &


验证是否启动OK:

tail -f ~/logs/rocketmqlogs/broker.log


如果启动成功,能看到类似如下的日志:

2019-07-18 17:08:41 INFO main - The broker[itmuchcomdeMacBook-Pro.local, 192.168.43.197:10911] b



验证RocketMQ功能正常(可选)


验证生产消息正常


执行如下命令:
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
复制代码



能看到类似如下输出:

SendResult [sendStatus=SEND_OK, msgId=C0A82BC5F36C511D50C05B41...


验证消费消息正常


执行如下命令:

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
复制代码

能看到类似如下输出:

ConsumeMessageThread_4 Receive New Messages: [MessageExt [queueId=3, stor....
复制代码



停止


依次执行以下两条命令即可


命令


sh bin/mqshutdown broker
复制代码


输出如下信息说明停止成功


The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK
复制代码


命令


sh bin/mqshutdown namesrv
复制代码


输出如下信息说明停止成功


The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK
复制代码




RocketMQ控制台安装


下载代码


方式一、git下载,执行如下命令

git clone github.com/apache/rock…


方式二、直接下载,访问如下地址即可

github.com/apache/rock…


修改控制台代码


修改配置


找到rocketmq-console/src/main/resources/application.properties 根据需求,修改配置


  • server.contextPath
  • 管理后台访问上下文路径,默认为空
  • 如果填写,需写成/xxx的形式,例如/console
  • 控制台的端口
• server.port=8080
• Name Server地址(if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876)
• rocketmq.config.namesrvAddr=
• rocketmq.config.isVIPChannel=( if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true)
• rocketmq-console's data path:dashboard/monitor
• rocketmq.config.dataPath=/tmp/rocketmq-console/data
• rocketmq.config.enableDashBoardCollect=true
• rocketmq.config.msgTrackTopicName=(set the message track trace topic if you don't want use the default one)
• rocketmq.config.ticketKey=ticket
rocketmq.config.loginRequired=false(#Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required)

例如


console端口


server.port=17890


name server地址


也可以不修改,在启动完console后,在控制台导航栏 - 运维 - NameSvrAddrList一栏设置

rocketmq.config.namesrvAddr=localhost:9876



修改依赖


修改 pom.xml ,修改RocketMQ相关依赖的版本

<rocketmq.version>4.4.0</rocketmq.version>
修改为
<rocketmq.version>你的RocketMQ版本</rocketmq.version>
复制代码


例如:

<rocketmq.version>4.5.1</rocketmq.version>
复制代码


修改代码


修改pom.xml后,org.apache.rocketmq.console.service.impl.MessageServiceImpl#queryMessageByTopic 编译会报错,所以需要解决一下。

DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, null);
改为:RPCHook rpcHook = null;
DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, rpcHook);
复制代码



打包构建


切换到代码根目录

cd rocketmq-externals
复制代码


切换到控制台目录

cd rocketmq-console
复制代码


构建

mvn clean package -DskipTests
复制代码


下载地址:github.com/eacdy/rocke…



启动

java -jar rocketmq-console-ng-1.0.1.jar
复制代码



访问


访问 http://localhost:17890 (端口用上面 application.properties 中的 server.port=17890 指定,默认是8080) ,即可看到界面




控制台使用手册

github.com/eacdy/rocke…




相关实践学习
5分钟轻松打造应对流量洪峰的稳定商城交易系统
本实验通过SAE极速部署一个微服务电商商城,同时结合RocketMQ异步解耦、削峰填谷的能力,带大家体验面对流量洪峰仍旧稳定可靠的商城交易系统!
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
打赏
0
53
56
33
382
分享
相关文章
MQTT常见问题之物联网设备端申请动态注册时MQTT服务不可用如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
基于阿里云MQTT服务,设计一个STM32的智能光伏控制系统
这篇文章详细介绍了利用STM32F103C8T6单片机实现光伏发电系统的关键技术。全文分为四章:第一章阐述了光伏发电的背景、意义及应用场景,强调其在绿色能源领域的重要性。第二章介绍了如何通过STM32F103C8T6及光敏电阻和伺服电机实现光线追踪系统,详细描述了硬件选择、连接及使用HAL库编写的单片机程序。第三章讲解了最大功率点追踪(MPPT)的原理,并展示了如何利用STM32F103C8T6和相关传感器、DC-DC转换器实现MPPT功能。第四章描述了如何通过STM32F103C8T6与SIM7600CE 4G模块连接到阿里云MQTT服务,实现设备状态数据的远程传输和控制。本文提供了全面的硬
17965 5
EMQ
|
12月前
|
在 Windows 平台搭建 MQTT 服务
NanoMQ 有着强大的跨平台和可兼容能力,不仅可以用于以 Linux 为基础的各类平台,也为 Windows 平台提供了 MQTT 服务的新选择。
EMQ
287 59
在 Windows 平台搭建 MQTT 服务
消息队列 MQ产品使用合集之当一个服务出现堆积后,为什么不把后面的流量负载到其它服务上
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
消息队列 MQ产品使用合集之当一个服务出现堆积后,为什么不把后面的流量负载到其它服务上
技术心得记录:控制台——对窗口句柄的操作
技术心得记录:控制台——对窗口句柄的操作
130 0
消息队列 MQ产品使用合集之通过MQTT控制台查询不到设备轨迹或消息轨迹是什么原因
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
110 0

相关产品

  • 云消息队列 MQ
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等