ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker 上部署RocketMQ

2022-07-14 23:34:30  阅读:183  来源: 互联网

标签:部署 -- RocketMQ conf namesrv docker data rocketmq


docker 上部署RocketMQ

RocketMQ 是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点

MQ好处: 1.应用解耦 2.流量削锋: 请求流量瞬间猛增,可能会把系统压垮。MQ可以将请求缓存起来,分散到很长一段时间去处理。提高系统的稳定性。 3.数据分发

缺点: 1.MQ宕机了,对业务造成影响 2.消息重复消费问题,消息丢失问题,消息的顺序性问题 3.数据一致性问题

具体的描述可参考官网文档:https://rocketmq.apache.org/docs/motivation/

RocketMQ 安装

1、docker 搜索RocketMQ 镜像

docker search rocketmq

 2、拉取rocketmq 镜像,可以根据自己的需要选择不同的镜像包

docker pull rocketmqinc/rocketmq:4.4.0

 

3、创建rocketmq数据存储目录

mkdir -p /docker_data/rocketmq/data/namesrv/logs /docker_data/rocketmq/data/namesrv/store

4、运行RocketMQ

docker run -d -p 9876:9876 --name rmqnamesrv --restart=always -v /docker_data/rocketmq/data/namesrv/logs:/root/logs -v /docker_data/rocketmq/data/namesrv/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.4.0 sh mqnamesrv

 

Broker 安装

1、创建 broker.conf 配置文件 mkdir -p  /docker_data/rocketmq/conf vi  /docker_data/rocketmq/conf/broker.conf  添加以下配置信息
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster 
#broker名称,master和slave使用相同的名称,表明他们的主从关系 
brokerName = broker-a 
#0表示Master,大于0表示不同的
slave brokerId = 0 
#表示几点做消息删除动作,默认是凌晨4点 
deleteWhen = 04 
#在磁盘上保留消息的时长,单位是小时 
fileReservedTime = 48 
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机 制;
brokerRole = ASYNC_MASTER 
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后 才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH 
 namesrvAddr = 172.0.0.1:9876
# 设置broker节点所在服务器的ip地址 
brokerIP1 = 192.168.11.129 
#剩余磁盘比例 
diskMaxUsedSpaceRatio=99

2、运行broker

docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker --restart=always -v /docker_data/rocketmq/data/namesrv/logs:/root/logs -v /docker_data/rocketmq/data/namesrv/store:/root/store -v /docker_data/rocketmq/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:4.4.0 sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf

 

rocketmq-console-ng 安装

1、拉取rocketmq-console-ng 镜像

docker pull styletang/rocketmq-console-n

2、运行rocketmq-console-ng

docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.11.129:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng

 

3、开放防火墙端口

firewall-cmd --permanent --zone=public --add-port=9876/tcp

firewall-cmd --permanent --zone=public --add-port=10911/tcp

4、重载防火墙配置文件

firewall-cmd --reload

在浏览器中访问:http://192.168.11.129:8080/#/

 

 

 

标签:部署,--,RocketMQ,conf,namesrv,docker,data,rocketmq
来源: https://www.cnblogs.com/JcHome/p/16479764.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有