docker部署RocketMQ

发布时间 2024-01-08 10:54:21作者: 李济宏(Amadeus)

​RocketMQ是阿里巴巴2016年MQ中间件,使用java语言开发,在阿里内部,RocketMQ承接了例如“双11”等高并发场景的消息流转,能够处理亿万级别的消息处理。

RocketMQ各角色介绍
  Producer:消息的发送者
  Consumer:消息的接收者
  Broker:暂存和传输消息,如:邮局
  NameServer:管理Broker
  Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者也可以订阅一个或多个Topic消息
  Message Queue:相当于是Topic的分区;用于并行发送和接收消息

操作步骤

一、系统优化

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭selinux

sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

二、安装RocketMQ

dnf -y install docker
docker search rocketmq
docker pull rocketmqinc/rocketmq
docker images

三、启动NameServer

mkdir -p /home/namesrv/logs
mkdir -p /home/namesrv/store
docker run -d -p 9876:9876 --name namesrv -v /home/namesrv/logs:/root/logs -v /home/namesrv/store:/root/store rocketmqinc/rocketmq:latest sh mqnamesrv

四、启动Broker

mkdir -p /home/broker/logs
mkdir -p /home/broker/store
docker run -d -p 10911:10911 -p 10909:10909 --name broker --link namesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -v /home/broker/logs:/root/logs -v /home/broker/store:/root/store rocketmqinc/rocketmq:latest sh mqbroker -n namesrv:9876