栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Docker部署RocketMQ

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker部署RocketMQ

RocketMQ作为一款纯java、分布式、队列模型的开源消息中间件,是一款低延迟、高可靠、可伸缩、易于使用的消息中间件。具有以下特性:
1、支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型
2、在一个队列中可靠的先进先出(FIFO)和严格的顺序传递
3、支持拉(pull)和推(push)两种消息模式
4、单一队列百万消息的堆积能力
5、支持多种消息协议,如 JMS、MQTT 等
6、分布式高可用的部署架构,满足至少一次消息传递语义
7、提供 docker 镜像用于隔离测试和云集群部署
8、提供配置、指标和监控等功能丰富的 Dashboard

1、创建目录
mkdir -p /home/rocketmq/{name_server,broker,console}
mkdir -p /home/rocketmq/name_server/{logs,store}
mkdir -p /home/rocketmq/broker/{logs,store,conf}
#或者
mkdir -p /home/rocketmq/{name_server,broker,console} && mkdir -p /home/rocketmq/name_server/{logs,store} && mkdir -p /home/rocketmq/broker/{logs,store,conf}
2、启动name_server容器
docker run --name name_server 
--restart=always 
-p 9876:9876 
--privileged=true 
--network rocketmq 
-v /home/rocketmq/name_server/logs:/root/logs 
-v /home/rocketmq/name_server/store:/root/store 
-e "MAX_POSSIBLE_HEAP=100000000" 
-d rocketmqinc/rocketmq:4.4.0 sh mqnamesrv autoCreateTopicEnable=true
3、创建编辑broker.conf配置文件
vim /home/rocketmq/rocketmq_broker/conf/broker.conf

根据实际情况请修改下面的IP

brokerClusterName = DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
brokerIP1=192.168.1.70
autoCreateTopicEnable=true
4、创建rocketmq_broker容器

注意-e "NAMESRV_ADDR=后面需要与前面所创建的 "name_server" 容器名一致。
并附带端口号,格式【容器名:端口】

docker run --name rocketmq_broker 
--restart=always 
-p 10911:10911 -p 10909:10909 
--privileged=true 
--network rocketmq 
-v /home/rocketmq/broker/logs:/root/logs 
-v /home/rocketmq/broker/store:/root/store 
-v /home/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf 
-e "NAMESRV_ADDR=name_server:9876" 
-e "MAX_POSSIBLE_HEAP=200000000" 
-c /opt/rocketmq-4.4.0/conf/broker.conf 
-d rocketmqinc/rocketmq:4.4.0 sh mqbroker autoCreateTopicEnable=true 
5、测试容器之间网络是否互通
docker exec -ti name_server bash
ping rocketmq_broker
#或者
docker exec -ti rocketmq_broker bash
ping name_server
6、创建rocketmq_console容器

注意-e "JAVA_OPTS=-Drocketmq.namesrv.addr=后面需要与前面所创建的 "name_server" 容器名一致。
并附带端口号,格式【容器名:端口】

docker run --name rocketmq_console 
--restart=always 
-p 8088:8080 --network rocketmq 
-v /home/rocketmq/console:/tmp 
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=name_server:9876" 
-d styletang/rocketmq-console-ng
7、docker ps -a查看容器运行状态
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/926646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号