docker安装rocketMQ教程(最详细)

时间:2022-08-30 10:46:05

 RocketMQ是一款分布式、队列模型的消息中间件,是由阿里巴巴设计的,具有以下特点:

支持严格的消息顺序 支持Topic与Queue两种模式 亿级消息堆积能力 比较友好的分布式特性 同时支持Push与Pull方式消费消息 历经多次天猫双十一海量消息考验 RocketMQ是纯java编写,基于通信框架Netty。

 其实小编就冲着RocketMQ历经多次天猫双十一海量消息考验,就感觉应该选择他了,再加上有亿级消息堆积能力,这么强大的一个部件,一个新生的黑马!接下来带大家在centos7上用docker安装rocketMQ.

1.安装Namesrv

拉取镜像

dockerpullrocketmqinc/rocketmq:4.4.0

docker安装rocketMQ教程(最详细)

在/usr/local目录下新建文件夹mq

命令:   

mkdirmq

 

docker安装rocketMQ教程(最详细)

启动容器

dockerrun-d-p9876:9876-v{自己的路径}/data/namesrv/logs:/root/logs-v{RmHome}/data/namesrv/store:/root/store--namermqnamesrv-e"MAX_POSSIBLE_HEAP=100000000"rocketmqinc/rocketmq:4.4.0shmqnamesrv

如下图,我自己的路径为/usr/local/mq  

你自己可以自定义路径。替换路径即可

docker安装rocketMQ教程(最详细)

注意事项

{自己的路径}  要替换成你的宿主机想保存MQ的日志与数据的地方,通过docker的-v参数使用volume功能,把你本地的目录映射到容器内的目录上。否则所有数据都默认保存在容器运行时的内存中,重启之后就又回到最初的起点。

2.安装broker

创建broker.conf文件

1:在{自己的路径}/conf目录下创建broker.conf文件

进入之前/usr/local/mq目录下,输入命令mkdirconf新建conf目录

docker安装rocketMQ教程(最详细)

接着在conf目录下输入命令touch broker.conf新建文件

docker安装rocketMQ教程(最详细)

输入命令vi  broker.conf,点击键盘insert键开始插入状态

在broker.conf中写入如下内容

brokerClusterName=DefaultCluster brokerName=broker-a brokerId=0 deleteWhen=04 fileReservedTime=48 brokerRole=ASYNC_MASTER flushDiskType=ASYNC_FLUSH brokerIP1={本地公网IP}

docker安装rocketMQ教程(最详细)

(我的是阿里云服务器,箭头处为公网ip)

输入完成后按Esc键,按shift再按 v

输入wq!退出

docker安装rocketMQ教程(最详细)

启动容器

dockerrun-d-p10911:10911-p10909:10909-v{自己的路径}/data/broker/logs:/root/logs-v{自己的路径}/rocketmq/data/broker/store:/root/store-v{自己的路径}/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf--namermqbroker--linkrmqnamesrv:namesrv-e"NAMESRV_ADDR=namesrv:9876"-e"MAX_POSSIBLE_HEAP=200000000"rocketmqinc/rocketmq:4.4.0shmqbroker-c/opt/rocketmq-4.4.0/conf/broker.conf

docker安装rocketMQ教程(最详细)

注意事项

注意: {自己的路径} 同上步一样,不再缀述。broker.conf的文件中的brokerIP1是你的broker注册到Namesrv中的ip。如果不指定他会默认取容器中的内网IP。除非你的应用也同时部署在网络相通的容器中,本地或容器外就无法连接broker服务了,进而导致类似RemotingTooMuchRequestException等各种异常。

3.安装rocketmq控制台

拉取镜像

dockerpullstyletang/rocketmq-console-ng

docker安装rocketMQ教程(最详细)

查看镜dockerps 

docker安装rocketMQ教程(最详细)

启动rocketmq控制台

dockerrun-e"JAVA_OPTS=-Drocketmq.namesrv.addr=服务器公网ip:9876-Dcom.rocketmq.sendMessageWithVIPChannel=false"-p8080:8080-tstyletang/rocketmq-console-ng

docker安装rocketMQ教程(最详细)

查看运行中的状态

状态为 up 说明成功运行

dockerps-a

docker安装rocketMQ教程(最详细)

浏览器访问

记得防火墙开放端口

docker安装rocketMQ教程(最详细)

docker安装rocketMQ教程(最详细)

原文链接:https://blog.csdn.net/W_317/article/details/104556265