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

简介: 【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…




相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
8月前
|
消息中间件 缓存 监控
中间件架构设计与实践:构建高性能分布式系统的核心基石
摘要 本文系统探讨了中间件技术及其在分布式系统中的核心价值。作者首先定义了中间件作为连接系统组件的&quot;神经网络&quot;,强调其在数据传输、系统稳定性和扩展性中的关键作用。随后详细分类了中间件体系,包括通信中间件(如RabbitMQ/Kafka)、数据中间件(如Redis/MyCAT)等类型。文章重点剖析了消息中间件的实现机制,通过Spring Boot代码示例展示了消息生产者的完整实现,涵盖消息ID生成、持久化、批量发送及重试机制等关键技术点。最后,作者指出中间件架构设计对系统性能的决定性影响,
|
消息中间件 存储 监控
活动实践 | 快速体验云消息队列RocketMQ版
本方案介绍如何使用阿里云消息队列RocketMQ版Serverless实例进行消息管理。主要步骤包括获取接入点、创建Topic和订阅组、收发消息、查看消息轨迹及仪表盘监控。通过这些操作,用户可以轻松实现消息的全生命周期管理,确保消息收发的高效与可靠。此外,还提供了消费验证、下载消息等功能,方便用户进行详细的消息处理与调试。
|
11月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。
|
消息中间件 人工智能 自然语言处理
基于 RocketMQ 事件驱动架构的 AI 应用实践
基于 RocketMQ 事件驱动架构的 AI 应用实践
509 2
|
消息中间件 Java 开发工具
【实践】快速学会使用云消息队列RabbitMQ版
本次分享的主题是快速学会使用云消息队列RabbitMQ版的实践。内容包括:如何创建和配置RabbitMQ实例,如Vhost、Exchange、Queue等;如何通过阿里云控制台管理静态用户名密码和AccessKey;以及如何使用RabbitMQ开源客户端进行消息生产和消费测试。最后介绍了实验资源的回收步骤,确保资源合理利用。通过详细的操作指南,帮助用户快速上手并掌握RabbitMQ的使用方法。
1189 10
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!
278 1
|
消息中间件 存储 弹性计算
云消息队列RabbitMQ实践
云消息队列RabbitMQ实践
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
14062 1
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
591 3

热门文章

最新文章

相关产品

  • 云消息队列 MQ