0


RocketMQ 实战:在 macOS 上安装与前端访问全流程指南

RocketMQ 是一款高性能的分布式消息队列中间件,在微服务架构中得到了广泛应用。本文将引导您在 macOS 上安装 RocketMQ,并使用 RocketMQ 控制台进行前端访问和管理。同时,我们将涵盖如何优雅地关闭相关服务,以确保系统的稳定性。

1. 准备工作

在开始之前,确保您的 macOS 系统已经具备以下组件:

  • **Java 运行时环境 (JRE)**:RocketMQ 依赖于 Java 运行环境,您可以通过以下命令检查 Java 是否已安装:java-version如果未安装 Java,可以使用 Homebrew 进行安装:brew install openjdk@11
  • Homebrew:macOS 常用的包管理工具,可以用它来简化软件安装过程。若尚未安装 Homebrew,可以在终端中执行以下命令进行安装:/bin/bash -c"$(curl-fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. 安装 RocketMQ

虽然 RocketMQ 尚未提供直接的 Homebrew 安装方式,但我们可以通过 Apache 官方网站手动下载和安装。

  1. 下载 RocketMQ:从 Apache 官方网站下载最新版本的 RocketMQ(本文以 4.9.4 版本为例)。wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip
  2. 解压文件unzip rocketmq-all-4.9.4-bin-release.zip
  3. 进入 RocketMQ 目录cd rocketmq-all-4.9.4-bin-release

3. 启动 Name Server 和 Broker

RocketMQ 需要先启动 Name Server(名称服务器)来管理和发现 Broker。接下来启动 Broker 来接收和处理消息。

  1. 启动 Name Servernohupsh bin/mqnamesrv &可以通过查看日志文件来确认 Name Server 是否成功启动:tail-f ~/logs/rocketmqlogs/namesrv.log
  2. 启动 Broker:在确保 Name Server 启动成功后,执行以下命令来启动 Broker:nohupsh bin/mqbroker -n localhost:9876 &使用以下命令查看 Broker 启动日志,以确认启动状态:tail-f ~/logs/rocketmqlogs/broker.log

4. 安装和启动 RocketMQ 控制台

为了更方便地管理和监控 RocketMQ,我们可以安装 RocketMQ 控制台,这是一款基于 Web 的管理工具。

  1. 下载 RocketMQ 控制台:从 GitHub 仓库克隆 RocketMQ 控制台的代码:git clone https://github.com/apache/rocketmq-dashboard.git
  2. 进入项目目录cd rocketmq-dashboard
  3. 构建项目:使用 Maven 进行项目构建。确保您的系统已安装 Maven(可通过 Homebrew 安装:brew install maven)。mvn clean package -DskipTests
  4. 启动控制台:使用以下命令启动 RocketMQ 控制台,将 Name Server 地址指定为 localhost:9876java-jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar --rocketmq.config.namesrvAddr=localhost:9876

5. 访问 RocketMQ 控制台

RocketMQ 控制台默认运行在本地的 8080 端口。您可以在浏览器中输入以下地址访问控制台:

http://localhost:8080

进入控制台后,您可以进行以下操作:

  • 查看集群信息
  • 查看和管理 Broker 状态
  • 创建和管理 Topic(主题)
  • 查看消息的生产与消费情况

6. 测试消息发送和消费

  1. 创建 Topic:在 RocketMQ 控制台上,选择“Topic 管理”并创建一个新的 Topic。
  2. 发送消息:使用 RocketMQ 提供的工具类向 Topic 发送测试消息。进入 RocketMQ 安装目录,执行以下命令:exportNAMESRV_ADDR=localhost:9876sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
  3. 消费消息:使用以下命令消费测试消息:exportNAMESRV_ADDR=localhost:9876sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

通过这些步骤,您可以验证 RocketMQ 集群的消息发送与消费功能是否正常工作。

7. 优雅地关闭 RocketMQ Name Server 和 Broker

在关闭 RocketMQ 服务时,应首先关闭 Broker,然后再关闭 Name Server。这是因为 Broker 依赖于 Name Server 的存在,反过来则不然。以下是具体操作步骤和代码:

1. 关闭 Broker
  1. 找到 Broker 进程 ID (PID):使用以下命令查找 mqbroker 进程的 PID:ps-ef|grep mqbroker
  2. 关闭 Broker 进程:通过 PID 发送 TERM 信号来优雅地关闭 Broker:kill-TERM<PID>替换 <PID> 为实际的进程 ID。使用 TERM 信号可以让进程有机会清理资源并完成当前正在处理的任务,从而优雅地关闭。或者直接运行 RocketMQ 提供的关闭脚本:sh bin/mqshutdown broker
2. 关闭 Name Server
  1. 找到 Name Server 进程 ID (PID):使用以下命令查找 mqnamesrv 进程的 PID:ps-ef|grep mqnamesrv
  2. 关闭 Name Server 进程:使用 kill 命令发送 TERM 信号:kill-TERM<PID>替换 <PID> 为 Name Server 的进程 ID。或者使用 RocketMQ 提供的关闭脚本:sh bin/mqshutdown namesrv

8. 确认服务是否关闭

在执行关闭操作后,可以检查相关进程是否已经成功关闭:

ps-ef|grep mqbroker
ps-ef|grep mqnamesrv

如果没有输出,说明进程已经成功关闭。

9. 总结

通过本文的指导,您已经在 macOS 上成功安装并配置了 RocketMQ,并通过 RocketMQ 控制台实现了对 RocketMQ 集群的前端访问和管理。同时,我们还介绍了如何优雅地关闭 Name Server 和 Broker,确保系统的稳定性。

进一步的操作可以包括配置更多的 Broker 节点、优化消息消费策略、集成更多的消息处理逻辑等。祝您在使用 RocketMQ 的过程中取得更加卓越的表现!

标签: rocketmq macos 前端

本文转载自: https://blog.csdn.net/heromps/article/details/141636456
版权归原作者 heromps 所有, 如有侵权,请联系我们删除。

“RocketMQ 实战:在 macOS 上安装与前端访问全流程指南”的评论:

还没有评论