RocketMq基础

转载:https://blog.csdn.net/SmallCat0912/article/details/128535930

可视化平台镜像

bash 复制代码
# 拉取镜像
docker pull rocketmqinc/rocketmq:4.3.2

# 修改镜像名字
docker tag 【镜像id】 rocketmq:4.3.2

可视化平台镜像:

bash 复制代码
# 拉取镜像
docker pull styletang/rocketmq-console-ng:1.0.0

# 修改镜像名字
docker tag 【镜像id】 rocketmq-console:1.0.0

挂载目录:

1、创建nameserver挂载目录

bash 复制代码
mkdir -p /docker/rocketmq/data/namesrv/logs /docker/rocketmq/data/namesrv/store 

2、创建broker目录

bash 复制代码
mkdir -p /docker/rocketmq/data/broker/logs /docker/rocketmq/data/broker/store

3、创建broker配置文件目录

bash 复制代码
mkdir -p /docker/rocketmq/data/conf

4、创建配置文件

bash 复制代码
vim broker.conf
bash 复制代码
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 1
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址,也就是centosOS7的服务ip
brokerIP1 = 127.0.0.1
# 磁盘使用达到80%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
diskMaxUsedSpaceRatio=80
#自己服务器的ip
namesrvAddr= 127.0.0.1:9876
#自动创建topic
autoCreateTopicEnable=true

启动nameserver

bash 复制代码
docker run -d --restart=always --name rocketmq_nameserver -p 9876:9876 -v /docker/rocketmq/data/namesrv/logs:/root/logs -v /docker/rocketmq/data/namesrv/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmq:4.3.2 sh mqnamesrv

启动broker

bash 复制代码
docker run -d --restart=always --name rocketmq_broker --link rocketmq_nameserver:namesrv -p 10911:10911 -p 10909:10909 -v /docker/rocketmq/data/broker/logs:/root/logs -v /docker/rocketmq/data/broker/store:/root/store -v /docker/rocketmq/data/conf/broker.conf:/opt/rocketmq-4.3.2/conf/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmq:4.3.2 sh mqbroker -c /opt/rocketmq-4.3.2/conf/broker.conf

启动可视化平台

bash 复制代码
docker run -d --restart=always --name rocketmq_console -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 rocketmq-console:1.0.0

记得开启端口号:10909,10911,9876(活生生卡了我两个半小时)

相关推荐
(Charon)11 分钟前
【C/C++面试】手写内存池:从空闲链表到内存申请与释放
java·开发语言·windows
EatFan13 分钟前
Spring Boot 4 迁移避坑清单:Jackson 3、starter 拆分与最低 JDK 口径核对(含若依/芋道/CRMEB 升级对照)
java·数据库·spring boot·spring boot 4·java 21·jakarta ee 11·jackson 3
栖凤13 分钟前
多 Agent 工作流实践:从单打独斗到协同作战
java·linux·服务器
一木 之林14 分钟前
DeepSeek Agent 开发
java·前端·人工智能
王霸天28 分钟前
Three.js 模型体积优化:Draco/Meshopt 压缩与 DRACOLoader 配置的 4 个步骤
java·前端·javascript
sp4235 分钟前
Java 加解密组件再设计
java·后端
知守观41 分钟前
从三个带病的 Guava 本地缓存出发:Redis + Guava 二级缓存的读写路径与失效设计推演
java·redis·后端
ThinkerQAQ_1 小时前
并发编程(七):volatile——从语言规则到 CPU
java·python·go
蜗牛互联网1 小时前
Python Responses API函数调用实战:工具白名单、参数校验与预算
java·人工智能·后端
韩曙亮1 小时前
【JavaEE】MyBatis 基本用法 ⑤ ( 单条件查询 | 多条件查询 | 多条件动态查询 | 单条件动态查询 )
java·sql·java-ee·mybatis·mapper·sql映射