目 录CONTENT

文章目录

Docker 安装 RocketMQ-5.1.4 最新版

Seven
2024-02-18 / 0 评论 / 0 点赞 / 354 阅读 / 6152 字 / 正在检测是否收录...

一、拉取官方镜像:

docker pull apache/rocketmq:latest #最新版就是5.1.4
docker pull apacherocketmq/rocketmq-dashboard:latest #console控制台方便查看

二、Name Server搭建

1、创建挂载的目录

mkdir -p /data/docker/rocketmq/{mqnamesrv,broker}/{store,logs}

2、创建容器

docker run -d --name rocketmq-namesrv -p 9876:9876 -v /data/docker/rocketmq/mqnamesrv/logs:/root/logs -v /data/docker/rocketmq/mqnamesrv/store:/root/store apache/rocketmq sh mqnamesrv

3、查看运行状态:

截屏2024-02-18 16.59.46

二、Broker搭建

1、使用Docker命令复制Name Server服务中得Broker配置。

docker cp 容器ID:容器内文件位置 本地位置

sudo docker cp fb3cef596a9e:/home/rocketmq/rocketmq-5.1.4/conf/broker.conf /data/docker/rocketmq/broker/broker.conf

2、修改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 = SYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = SYNC_FLUSH
# 设置broker节点所在服务器的ip地址(**这个非常重要,主从模式下,从节点会根据主节点的brokerIP2来同步数据,如果不配置,主从无法同步,brokerIP1设置为自己外网能访问的ip,服务器双网卡情况下必须配置,比如阿里云这种,主节点需要配置ip1和ip2,从节点只需要配置ip1即可)
brokerIP1 = 172.16.2.26
#nameServer地址,分号分割
namesrvAddr= 172.16.2.26:9876
#Broker 对外服务的监听端口,
listenPort = 10911
#是否允许Broker自动创建Topic
autoCreateTopicEnable = true
#是否允许 Broker 自动创建订阅组
autoCreateSubscriptionGroup = true
#linux开启epoll
useEpollNativeSelector = true

#数据存放的根目录
#storePathRootDir = /root/store/path
#commit log保存目录
#storePathCommitLog = /root/store/path/commitlog
#消费队列存储路径存储路径
#storePathConsumerQueue = /root/store/path/consumequeue

slaveReadEnable = true

3、创建容器

默认内存大小

docker run -d --name rocketmq-broker -p 10909:10909 -p 10911:10911 -v /data/docker/rocketmq/broker/logs:/root/logs -v /data/docker/rocketmq/broker/store:/root/store -v /data/docker/rocketmq/broker/broker.conf:/home/rocketmq/rocketmq-5.1.4/conf/broker.conf apache/rocketmq sh mqbroker -c /home/rocketmq/rocketmq-5.1.4/conf/broker.conf

指定内存大小

docker run -d --name rocketmq-broker -p 10909:10909 -p 10911:10911 -v /data/docker/rocketmq/broker/logs:/root/logs -v /data/docker/rocketmq/broker/store:/root/store -v /data/docker/rocketmq/broker/broker.conf:/home/rocketmq/rocketmq-5.1.4/conf/broker.conf -e "JAVA_OPT_EXT=-server -Xms1g -Xmx1g -Xmn512m" apache/rocketmq sh mqbroker -c /home/rocketmq/rocketmq-5.1.4/conf/broker.conf

4、查看运行状态

截屏2024-02-18 17.10.24
查看logs
截屏2024-02-18 17.11.57

三、console控制台搭建

1、创建容器

docker run -d --name rocketmq-console -e "JAVA_OPTS=-Drocketmq.namesrv.addr=172.16.2.26:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8000:8080 apacherocketmq/rocketmq-dashboard

2、查看运行状态

截屏2024-02-18 17.15.46

3、打开控制台。

http://172.16.2.26:8000
截屏2024-02-18 17.17.43
完结。

0

评论区