当前位置: 首页 > news >正文

M1安装RocketMQ消息队列

一、环境要求

请先确认:

docker -v
docker compose version

如无 compose,执行:

brew install docker-compose

二、创建 docker-compose.yml

在任意目录(比如 ~/rocketmq)下创建文件:

mkdir ~/rocketmq && cd ~/rocketmq
nano docker-compose.yml

写入以下内容(已针对 M1 优化)👇

version: '3.8'
services:namesrv:image: apache/rocketmq:5.3.0container_name: rmqnamesrvports:- "9876:9876"environment:- JAVA_OPT_EXT=-server -Xms256m -Xmx256m -Xmn128mcommand: sh mqnamesrvrestart: unless-stoppedbroker:image: apache/rocketmq:5.3.0container_name: rmqbrokerdepends_on:- namesrvports:- "10909:10909"- "10911:10911"- "10912:10912"environment:- NAMESRV_ADDR=namesrv:9876- JAVA_OPT_EXT=-server -Xms512m -Xmx512m -Xmn256m- BROKER_MEM=512mvolumes:- ./store:/home/rocketmq/store- ./logs:/home/rocketmq/logs- ./conf/broker.conf:/home/rocketmq/conf/broker.confcommand: sh mqbroker -c /home/rocketmq/conf/broker.confrestart: unless-stoppeddashboard:image: apacherocketmq/rocketmq-dashboard:latestcontainer_name: rmqdashboarddepends_on:- namesrv- brokerports:- "8080:8080"environment:- JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dserver.port=8080restart: unless-stopped

三、创建 broker.conf 配置文件

~/rocketmq/conf/ 下新建配置:

mkdir conf
nano conf/broker.conf

内容如下(适配单机 M1 使用):

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
listenPort = 10911
storePathRootDir = /home/rocketmq/store
storePathCommitLog = /home/rocketmq/store/commitlog
autoCreateTopicEnable=true

四、启动 RocketMQ 集群

~/rocketmq 目录执行:

docker compose up -d

查看容器运行状态:

docker ps

应看到三个容器:

rmqnamesrv
rmqbroker
rmqdashboard

五、验证服务

查看 NameServer 日志

docker logs -f rmqnamesrv

输出包含:

The Name Server boot success...

查看 Broker 日志

docker logs -f rmqbroker

输出包含:

The broker[broker-a, 172.18.0.x:10911] boot success...

查看 Dashboard

浏览器访问:

http://localhost:8080

如果一切正常,你会看到 RocketMQ Dashboard 界面。


六、测试命令行发送消息(可选)

进入 broker 容器:

docker exec -it rmqbroker bash

发送一条测试消息:

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

消费消息:

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

七、常见问题

问题原因解决方案
exec user process caused: exec format error镜像不支持 ARM使用官方 apache/rocketmq:5.3.0 及以上版本(支持 ARM64)
Dashboard 页面打不开未启动成功或端口冲突docker logs rmqdashboard 检查 8080 端口
Broker 启动失败配置文件路径错误确认挂载路径 ./conf/broker.conf 存在
日志过大默认无限制定期清理 ./logs./store

八、停止与删除

停止服务:

docker compose down

清理数据:

docker compose down -v
http://www.dtcms.com/a/499203.html

相关文章:

  • 广西壮族自治区住房和城乡建设厅网站网站内页制作
  • PDFium导出pdf 图像
  • C++11标准 上 (万字解析)
  • Java基础语法—字面量、变量详解、存储数据原理
  • 手工视频制作网站移动网站建设初学视频教程
  • 【shell】每日shell练习(系统服务状态监控/系统性能瓶颈分析)
  • Swift 下标脚本
  • Spring Boot 3零基础教程,WEB 开发 默认页签图标 Favicon 笔记28
  • php 网站部署杭州企业自助建站系统
  • IntelliJ IDEA 2023中为 Spring Boot 项目添加注释模板
  • Java Web安全防护:SQL注入、XSS攻击的预防与处理
  • leetcode 912.排序数组
  • 个人网站可以做商城吗seo三人行网站
  • 第3讲:Go垃圾回收机制与性能优化
  • Mac 桌面动态壁纸软件|Live Wallpaper 4K Pro v19.7 安装包使用教程(附安装包)
  • 简易网站开发网站建设的各个环节
  • 用 Selenium 搞定动态网页:模拟点击、滚动、登录全流程
  • VBA数据结构抉择战:Dictionary与Collection谁才是效率王者?
  • macos虚拟机-演示篇三配置clover引导
  • 【小白笔记】岛屿的周长(Island Perimeter)
  • 【C# OOP 入门到精通】从基础概念到 MVC 实战(含 SOLID 原则与完整代码)
  • 安徽省建设厅官网南宁seo外包要求
  • 算法实现迭代4_冒泡排序
  • uploads-labs靶场通关(1)
  • 网站建设标准合同福州做网站的公司多少钱
  • 类转函数(Class to Function)
  • Java-153 深入浅出 MongoDB 全面的适用场景分析与选型指南 场景应用指南
  • Makefile 模式规则精讲:从 ​​%.o: %.c​​ 到静态模式规则的终极自动化
  • app免费下载网站地址进入产品做网站如何谁来维护价格
  • 网站开发客户流程 6个阶段自助贸易网