MacOS环境下RocketMQ安装及部署 RocketMQ Dashboard 可视化

对于这种中间件我之前比较依赖于docker去一键化部署,避免这种繁琐的步骤,但是现在国内访问docker需要vpn才可以,所以不得不把rocketMq安装到自己电脑里,今天带着大家一起安装一下

1.官网下载压缩包并解压

1.打开 RocketMQ 的官方网站,找到下载页面。

2.我们直接下载最新版本的压缩包

3.解压缩

2.安装 RocketMQ

1.修改 JVM 参数

打开 runserver.sh 和 runbroker.sh 文件,这两个文件通常位于 bin 目录下,修改以下 JVM 参数,确保 RocketMQ 可以在你当前环境下正常运行:

shell 复制代码
vim bin/runserver.sh
vim bin/runbroker.sh

在这两个文件中,找到类似如下的 JVM 参数配置,并根据你的需求进行修改:

shell 复制代码
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g

可以按照自己的需求来,或者不更改也可以

3.启动(关闭)RocketMq NameServer

3.1 启动

进入 bin 目录并启动 Name Server:

shell 复制代码
nohup sh mqnamesrv >nameser.log 2>&1 &

通过以下命令查看日志,确认 Name Server 启动成功:

shell 复制代码
cat nohup.out

如果提示端口被占用你可以通过kill掉9876对应进程的pid

首先通过lsof找出占用特定端口的进程PID

shell 复制代码
lsof -i :<port> | grep LISTEN

然后从输出中找到你想要终止的进程的PID,并通过kill命令结束该进程

如果你没有安装lsof,macOS系统默认不包含这个工具,但你可以通过Homebrew等包管理器来安装它。如果你还没有安装Homebrew,可以通过以下命令安装:

shell 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/main/install.sh)"

然后使用Homebrew安装lsof:

shell 复制代码
brew install lsof

3.2 关闭

使用mqshutdown命令可以安全且正确地关闭服务,确保资源和日志记录关闭 Name Server:

shell 复制代码
sh mqshutdown namesrv

当然你也可以强制的实用kill去关闭进程:

shell 复制代码
jps
kill <pid>

4. 启动(关闭)broker

4.1 修改 broker 配置文件

shell 复制代码
vim ~/.zshrc
export NAMESRV_ADDR='localhost:9876'
# 刷新生效
source ~/.zshrc
# 测试是否生效
echo $NAMESRV_ADDR

4.2 修改broker 配置文件,允许自动创建 topic

注意:在正式线上环境中应禁止该项,改为申请审批去新增或删除topic

本章为了方便测试,所以先改为允许自动创建topic

4.3 启动Broker

shell 复制代码
nohup sh mqbroker >broker.log 2>&1 &

你可以通过以下命令查看日志,确认 Broker 启动成功:

shell 复制代码
tail -f ~/logs/rocketmqlogs/broker.log

也可以查找我们打印的指定目录:

shell 复制代码
cat broker.log

4.4 关闭broker

在bin目录下执行指令:

shell 复制代码
sh mqshutdown broker

5.安装 RocketMQ Dashboard 可视化

5.1 下载安装包

1.打开 RocketMQ Dashboard 的官方网站或其 GitHub 仓库,找到下载页面。

2.下载最新版本的 RocketMQ Dashboard 压缩包,并将解压

5.2 将应用编译为可运行的 jar 包

1.进入解压后的目录,并执行以下命令进行打包:

shell 复制代码
mvn clean package -Dmaven.test.skip=true

当然你也可以把他当做一个SpringBoot应用使用idea打开

打包完成后在target目录下会生成相应的jar包

在target目录下执行以下命令:

shell 复制代码
nohup java -jar rocketmq-dashboard-1.0.0.jar >msg.log 2>&1 &

访问:http://localhost:8080/#/

5.3 关闭dashborad

和上面关闭9876端口一样,使用lsof指令

shell 复制代码
lsof -i :8080 | grep LISTEN
kill 36421(pid)

至此rocketMq就全部安装完成了

相关推荐
千里达景区票务系统4 天前
消息队列选型对比:RabbitMQ vs RocketMQ vs Kafka
kafka·消息队列·rabbitmq·rocketmq
阿里云云原生9 天前
阿里云云原生四项 AI 应用工程化实荣获“鼎新杯”优秀案例
rocketmq
阿里云云原生9 天前
Qoder Cloud Agents 手脑分离实践:RocketMQ LiteTopic 如何支撑规模化长程 Agent 任务
rocketmq
阳光不锈@10 天前
三大主流消息队列架构设计思想剖析:从 RabbitMQ 到 RocketMQ 的改造实践
kafka·rabbitmq·rocketmq·rabbit改造rocket·去除rabbitmq·rabbitmq改造
薛之谦_14 天前
Java 整合 RocketMQ 实战:从入门到复杂场景落地
java·rocketmq·java-rocketmq
jyOverQ14 天前
从零开始学 RocketMQ(四):集群部署、消息存储与高可用【保姆级教程】
java·rocketmq·java-rocketmq
Thomas.Sir20 天前
第31课:微服务消息驱动(RabbitMQ/RocketMQ)适配与解耦实战
微服务·rabbitmq·rocketmq
Knight_AL20 天前
本地服务连接 SaaS 测试环境实践:Docker 部署 Redis 与 RocketMQ 完成接口联调
redis·docker·rocketmq
jyOverQ21 天前
从零开始学 RocketMQ(一):基础概念、环境搭建与简单消息收发【保姆级教程】
java·rocketmq·java-rocketmq
做个文艺程序员22 天前
MQ第10篇:RAG与消息队列实战:Java构建AI客服系统的检索增强生成完整架构
人工智能·架构·rocketmq·向量数据库·rag·ai客服·spring ai