【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
相关文章
|
中间件 程序员 开发工具
Django实践-08中间件的应用
Django实践-08中间件的应用
Django实践-08中间件的应用
|
中间件
83 # 静态服务中间件 koa-static 的使用以及实现
83 # 静态服务中间件 koa-static 的使用以及实现
215 0
|
缓存 PHP Nacos
nacos常见问题之服务升级后nacos控制台看到都是不可用重启nacos后恢复如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
1046 4
|
10月前
|
消息中间件 缓存 监控
中间件架构设计与实践:构建高性能分布式系统的核心基石
摘要 本文系统探讨了中间件技术及其在分布式系统中的核心价值。作者首先定义了中间件作为连接系统组件的&quot;神经网络&quot;,强调其在数据传输、系统稳定性和扩展性中的关键作用。随后详细分类了中间件体系,包括通信中间件(如RabbitMQ/Kafka)、数据中间件(如Redis/MyCAT)等类型。文章重点剖析了消息中间件的实现机制,通过Spring Boot代码示例展示了消息生产者的完整实现,涵盖消息ID生成、持久化、批量发送及重试机制等关键技术点。最后,作者指出中间件架构设计对系统性能的决定性影响,
|
消息中间件 存储 Java
Alibaba开发十年,写出这本“MQ技术手册”,看完我愣住了
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。虽然说,目前状况是Kafka更为火热,但更为广泛的应该还属老牌的RabbtiMQ和Alibaba自主研发的RocketMQ。
|
消息中间件 存储 RocketMQ
消息中间件-RocketMQ技术(二)
消息中间件-RocketMQ技术(二)
|
消息中间件 存储 中间件
消息中间件-RocketMQ技术(一)
消息中间件-RocketMQ技术(一)
|
开发框架 JSON 中间件
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。
|
JSON 中间件 数据处理
实践出真知:通过项目学习Python Web框架的路由与中间件设计
【7月更文挑战第19天】探索Python Web开发,掌握Flask或Django的关键在于理解路由和中间件。路由连接URL与功能,如Flask中@app.route()定义请求响应路径。中间件在请求处理前后执行,提供扩展功能,如日志、认证。通过实践项目,不仅学习理论,还能提升构建高效Web应用的能力。示例代码展示路由定义及模拟中间件行为,强调动手实践的重要性。
371 1
|
设计模式 中间件 测试技术
PHP中的中间件模式解析与实践
【7月更文挑战第11天】在现代Web开发中,中间件模式已成为设计高效、可维护应用程序的关键。本文深入探讨了PHP环境下中间件模式的实现方法,并提供了一个实际示例来演示如何利用中间件优化请求处理流程。
270 1

热门文章

最新文章

相关产品

  • 云消息队列 MQ