当前位置:首页 » 《关于电脑》 » 正文

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

4 人参与  2024年10月23日 10:00  分类 : 《关于电脑》  评论

点击全文阅读


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 官方网站手动下载和安装。

下载 RocketMQ:从 Apache 官方网站下载最新版本的 RocketMQ(本文以 4.9.4 版本为例)。

wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip

解压文件

unzip rocketmq-all-4.9.4-bin-release.zip

进入 RocketMQ 目录

cd rocketmq-all-4.9.4-bin-release

3. 启动 Name Server 和 Broker

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

启动 Name Server

nohup sh bin/mqnamesrv &

可以通过查看日志文件来确认 Name Server 是否成功启动:

tail -f ~/logs/rocketmqlogs/namesrv.log

启动 Broker:在确保 Name Server 启动成功后,执行以下命令来启动 Broker:

nohup sh bin/mqbroker -n localhost:9876 &

使用以下命令查看 Broker 启动日志,以确认启动状态:

tail -f ~/logs/rocketmqlogs/broker.log

4. 安装和启动 RocketMQ 控制台

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

下载 RocketMQ 控制台:从 GitHub 仓库克隆 RocketMQ 控制台的代码:

git clone https://github.com/apache/rocketmq-dashboard.git

进入项目目录

cd rocketmq-dashboard

构建项目:使用 Maven 进行项目构建。确保您的系统已安装 Maven(可通过 Homebrew 安装:brew install maven)。

mvn clean package -DskipTests

启动控制台:使用以下命令启动 RocketMQ 控制台,将 Name Server 地址指定为 localhost:9876

java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar --rocketmq.config.namesrvAddr=localhost:9876

5. 访问 RocketMQ 控制台

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

http://localhost:8080

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

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

6. 测试消息发送和消费

创建 Topic:在 RocketMQ 控制台上,选择“Topic 管理”并创建一个新的 Topic。

发送消息:使用 RocketMQ 提供的工具类向 Topic 发送测试消息。进入 RocketMQ 安装目录,执行以下命令:

export NAMESRV_ADDR=localhost:9876sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

消费消息:使用以下命令消费测试消息:

export NAMESRV_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

找到 Broker 进程 ID (PID):

使用以下命令查找 mqbroker 进程的 PID:

ps -ef | grep mqbroker

关闭 Broker 进程:

通过 PID 发送 TERM 信号来优雅地关闭 Broker:

kill -TERM <PID>

替换 <PID> 为实际的进程 ID。使用 TERM 信号可以让进程有机会清理资源并完成当前正在处理的任务,从而优雅地关闭。

或者直接运行 RocketMQ 提供的关闭脚本:

sh bin/mqshutdown broker
2. 关闭 Name Server

找到 Name Server 进程 ID (PID):

使用以下命令查找 mqnamesrv 进程的 PID:

ps -ef | grep mqnamesrv

关闭 Name Server 进程:

使用 kill 命令发送 TERM 信号:

kill -TERM <PID>

替换 <PID> 为 Name Server 的进程 ID。

或者使用 RocketMQ 提供的关闭脚本:

sh bin/mqshutdown namesrv

8. 确认服务是否关闭

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

ps -ef | grep mqbrokerps -ef | grep mqnamesrv

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

9. 总结

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

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


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/175971.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1