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

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 【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
相关文章
|
11天前
|
消息中间件 存储 RocketMQ
消息中间件-RocketMQ技术(二)
消息中间件-RocketMQ技术(二)
|
11天前
|
消息中间件 存储 中间件
消息中间件-RocketMQ技术(一)
消息中间件-RocketMQ技术(一)
|
18天前
|
消息中间件 Java Apache
RocketMQ消息回溯实践与解析
在分布式系统和高并发应用的开发中,消息队列扮演着至关重要的角色,而RocketMQ作为阿里巴巴开源的一款高性能消息中间件,以其高吞吐量、高可用性和灵活的配置能力,在业界得到了广泛应用。本文将围绕RocketMQ的消息回溯功能进行实践与解析,分享工作学习中的技术干货。
50 3
|
2月前
|
消息中间件 Cloud Native Serverless
RabbitMQ 与云原生技术的融合
【8月更文第28天】随着微服务架构和容器化的普及,云原生技术已成为构建现代应用的标准方式。云原生应用程序利用了诸如容器化、微服务、声明式API等技术,以提高可伸缩性、可靠性和可维护性。消息队列作为服务间通信的关键组件,在云原生环境中扮演着重要角色。本文将探讨如何将RabbitMQ与云原生技术(如Service Mesh和Serverless平台)相结合,并通过具体的代码示例来展示其集成方法。
30 2
|
13天前
|
消息中间件 运维 监控
云消息队列RabbitMQ实践解决方案评测报告
本报告旨在对《云消息队列RabbitMQ实践》解决方案进行综合评测。通过对该方案的原理理解、部署体验、设计验证以及实际应用价值等方面进行全面分析,为用户提供详尽的反馈与建议。
45 15
|
12天前
|
消息中间件 弹性计算 运维
阿里云云消息队列RabbitMQ实践解决方案评测报告
阿里云云消息队列RabbitMQ实践解决方案评测报告
39 9
|
7天前
|
消息中间件 监控 数据处理
解决方案 | 云消息队列RabbitMQ实践
解决方案 | 云消息队列RabbitMQ实践
17 1
|
9天前
|
消息中间件 弹性计算 运维
云消息队列RabbitMQ实践
本评测报告详细分析了阿里云云消息队列 RabbitMQ 版的实践原理、部署体验及核心优势。报告认为其在解决消息积压、脑裂难题及弹性伸缩方面表现优秀,但建议进一步细化架构优化策略和技术细节描述。部署文档详尽,对初学者友好,但仍需加强网络配置和版本兼容性说明。实际部署展示了其高可用性和成本优化能力,适用于高并发消息处理和分布式系统数据同步。为进一步提升方案,建议增加安全性配置指导、性能调优建议及监控告警系统设置。
|
5月前
|
Java
java实战项目超市管理系统控制台版
java实战项目超市管理系统控制台版
|
5月前
|
Java
【Java开发指南 | 第二十篇】Java流之控制台
【Java开发指南 | 第二十篇】Java流之控制台
37 2

相关产品

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