Docker - RocketMQ部署

简介

RocketMQ 是一款分布式,队列模型的消息中间件,由阿里巴巴研发,借鉴参考了 JMS 规范的 MQ 实现,更参考了优秀的开源消息中间件 kafka,并且结合阿里实际业务需求在天猫双十一等场景,实现业务削峰,分布式事务的优秀框架。

git地址:https://github.com/apache/rocketmq

传送门:RocketMQ 基本概念

一、拉取镜像

docker pull foxiswho/rocketmq:4.8.0              # Namesrv、Broker
docker pull pongsky/rocketmq-console-ng          # rocketmq 控制台

二、安装程序

以下操作映射目录需要777权限,否则会启动失败

1.安装NameSrv

docker run -d \
--restart=always \
--name rocketmq-namesrv \
-p 9006:9876 \
-v /etc/localtime:/etc/localtime:ro \
-v /data/rocketmq/namesrv/logs:/home/rocketmq/logs \              # 映射 日志文件
-v /data/rocketmq/namesrv/store:/home/rocketmq/store \            # 映射 存储文件
-e "MAX_POSSIBLE_HEAP=100000000" \
-e "JAVA_OPT_EXT=-Xms128m -Xmx128m -Xmn128m" \
foxiswho/rocketmq:4.8.0 sh mqnamesrv

2.安装Broker

创建配置文件broker.conf,也可通过docker cp一个临时容器进行拷贝;可以直接点击下载作者已准备好的文件 broker.conf 放到磁盘目录,然后启动容器
docker run -d \
--restart=always \
--name rocketmq-broker \
-p 10909:10909 \
-p 10911:10911 \
-p 10912:10912 \
-v /data/rocketmq/broker/logs:/home/rocketmq/logs \       # 映射 日志文件
-v /data/rocketmq/broker/store:/home/rocketmq/store \     # 映射 存储文件
-v /data/rocketmq/broker/conf:/home/rocketmq/conf \       # 映射 配置文件,方便调整
--link rocketmq-namesrv:namesrv \                         # 链接 Namesrv容器,可改用ip
-e "NAMESRV_ADDR=namesrv:9876" \                          # 使用 Namesrv地址,也可改用ip
-e "MAX_POSSIBLE_HEAP=200000000" \
-e "JAVA_OPT_EXT=-Xms128m -Xmx128m -Xmn128m" \
foxiswho/rocketmq:4.8.0 sh mqbroker -c /home/rocketmq/conf/broker.conf  # 指定配置文件启动

3.安装 rocketmq 控制台

创建users.properties登录配置文件并放到磁盘目录,文件内容示例
# 该文件支持热修改,即添加和修改用户时,不需要重新启动console# 格式。
# 每行定义一个用户, username=password[,N]  #N是可选项,可以为0 (普通用户); 1 (管理员)  
#定义管理员 admin=admin,1
#定义普通用户 user1=user1,0
启动容器
docker run -d \
--name rocketmq-console \
--restart=always \
-p 9007:8080 \
--link rocketmq-namesrv:namesrv \
-v /data/rocketmq/console/data/users.properties:/tmp/rocketmq-console/data/users.properties \
-e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false -Xms64m -Xmx128m -Xmn128m" \
pongsky/rocketmq-console-ng

访问测试

访问IP:端口,输入账号密码登录

分享到:
本文链接:https://blog.renzicu.com/2021/microservices/rocketmq/index.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明出处!
THE END
二维码
打赏
文章目录
关闭
目 录