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

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【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版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
15天前
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!
|
25天前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
58 7
|
22天前
|
消息中间件 存储 弹性计算
云消息队列RabbitMQ实践
云消息队列RabbitMQ实践
|
23天前
|
消息中间件 存储 弹性计算
云消息队列 RabbitMQ 版实践解决方案评测
随着企业业务的增长,对消息队列的需求日益提升。阿里云的云消息队列 RabbitMQ 版通过架构优化,解决了消息积压、内存泄漏等问题,并支持弹性伸缩和按量计费,大幅降低资源和运维成本。本文从使用者角度详细评测这一解决方案,涵盖实践原理、部署体验、实际优势及应用场景。
|
29天前
|
消息中间件 存储 监控
解决方案 | 云消息队列RabbitMQ实践
在实际业务中,网站因消息堆积和高流量脉冲导致系统故障。为解决这些问题,云消息队列 RabbitMQ 版提供高性能的消息处理和海量消息堆积能力,确保系统在流量高峰时仍能稳定运行。迁移前需进行技术能力和成本效益评估,包括功能、性能、限制值及费用等方面。迁移步骤包括元数据迁移、创建用户、网络打通和数据迁移。
63 4
|
1月前
|
消息中间件 数据安全/隐私保护 Docker
Docker安装rabbitmq
如何使用Docker安装和配置RabbitMQ服务,包括拉取RabbitMQ镜像、创建容器、配置持久化和访问管理界面的步骤。
84 0
Docker安装rabbitmq
|
1月前
|
消息中间件
实践部署《云消息队列RabbitMQ实践》测评
《云消息队列RabbitMQ实践》解决方案原理清晰,尤其在异步通信和解耦方面解释详尽。对初学者而言,部分术语如消息持久化、确认机制及集群性能优化可更细致。部署过程文档详实,涵盖主要环节,但插件配置等细节存在环境问题,需查阅社区资料解决。该方案展示了RabbitMQ的高吞吐量、灵活路由和可靠消息传递能力,但在高可用性和消息丢失处理上可提供更深入配置建议。适用于高并发和解耦场景,如订单处理、日志收集,有助于提升系统可扩展性。总体部署体验良好,实用性较强。
49 0
|
1月前
|
消息中间件 监控 测试技术
云消息队列RabbitMQ实践 - 评测
根据反馈,对本解决方案的实践原理已有一定理解,描述整体清晰但需在消息队列配置与使用上增加更多示例和说明以助理解。部署体验中获得了一定的引导和文档支持,尽管文档仍有待完善;期间出现的配置文件错误及依赖库缺失等问题已通过查阅资料解决。设计验证展示了云消息队列RabbitMQ的核心优势,包括高可用性和灵活性,未来可通过增加自动化测试来提高系统稳定性。实践后,用户对方案解决问题的能力及适用场景有了明确认识,认为其具有实际生产价值,不过仍需在性能优化、安全性增强及监控功能上进行改进以适应高并发和大数据量环境。
40 0
|
6月前
|
Java
java实战项目超市管理系统控制台版
java实战项目超市管理系统控制台版
|
6月前
|
Java
【Java开发指南 | 第二十篇】Java流之控制台
【Java开发指南 | 第二十篇】Java流之控制台
52 2

相关产品

  • 云消息队列 MQ
  • 下一篇
    无影云桌面