RocketMQ安装【Docker】

本文介绍了如何使用Docker来搭建RocketMQ,包括创建Docker网络,启动NameServer、Broker容器以及控制台容器。在服务器上预装Docker后,拉取RocketMQ和控制台的镜像,然后创建网络,设置映射目录和配置文件,最后启动各个容器,完成RocketMQ集群的部署。读者可以通过访问指定IP的8085端口来查看控制台界面。
摘要由CSDN通过智能技术生成

使用Docker搭建RocketMQ

本次通过使用Docker搭建RocketMQ及其控制台界面。
官方:https://rocketmq.apache.org/

准备工作

  1. 服务器预装Docker准备
    安装可参考: https://blog.csdn.net/can_1994/article/details/79800698?spm=1001.2014.3001.5501

    另说明一下笔者当前服务器的局域网IP为 172.0.1.180,大家请根据自身实际情况修改命令和配置中的IP。

  2. RocketMQ镜像准备

    docker pull rocketmqinc/rocketmq
    
  3. 控制台镜像准备

    docker pull styletang/rocketmq-console-ng
    

创建Docker网络

在 Docker 中创建一个名为 rocketmq 的网络,后续 RocketMQ 的 NameServer,Broker,控制台 都会使用该网络。

  1. 创建rocketmq网络
    docker network create rocketmq
    
  2. 查看网络信息
    docker inspect rocketmq
    

构建并启动 NameServer 容器

  1. 在宿主机中创建映射目录
    mkdir -p /data/software/rocketmq/data/namesrv/{logs,store}
    
  2. 构建并启动 NameServer 容器
    docker run --name rmqnamesrv \
    --restart=always \
    -p 9876:9876 \
    --privileged=true \
    --network rocketmq \
    --cpus 4 \
    --memory 4096M \
    --ulimit nofile=1024:1024 \
    -v /data/software/rocketmq/data/namesrv/logs:/root/logs \
    -v /data/software/rocketmq/data/namesrv/store:/root/store \
    -e "MAX_POSSIBLE_HEAP=100000000" \
    -d rocketmqinc/rocketmq sh mqnamesrv autoCreateTopicEnable=true
    

构建并启动 Broker 容器

  1. 在宿主机中创建映射目录
    mkdir -p /data/software/rocketmq/data/broker/{logs,store}
    mkdir -p /data/rocketmq/conf/
    
  2. 创建 Broker 配置文件
    vim /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.1.180:9876
    # 设置broker节点所在服务器的ip地址
    brokerIP1 = 172.0.1.180
    
  3. 构建并启动 Broker 容器
    docker run -d --name rmqbroker \
    -p 10911:10911 \
    -p 10909:10909 \
    --restart=always \
    --privileged=true \
    --network rocketmq \
    --cpus 4 \
    --memory 4096M \
    --ulimit nofile=1024:1024 \
    -v /data/software/rocketmq/data/broker/logs:/root/logs \
    -v /data/software/rocketmq/data/broker/store:/root/store \
    -v /data/rocketmq/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf \
    -e "NAMESRV_ADDR=rmqnamesrv:9876" \
    -e "MAX_POSSIBLE_HEAP=200000000" \
    rocketmqinc/rocketmq sh mqbroker autoCreateTopicEnable=true -c /opt/rocketmq-4.4.0/conf/broker.conf
    

构建并启动 控制台 容器

  1. 构建并启动 控制台 容器
    docker run --name rmqconsole \
    --restart=always \
    --privileged=true \
    -p 8085:8080 \
    --cpus 2 \
    --memory 2048M \
    --network rocketmq \
    --ulimit nofile=1024:1024 \
    -v /data/software/rocketmq/console:/tmp \
    -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
    -d styletang/rocketmq-console-ng
    
  2. 访问控制台界面地址: http://172.0.1.180:8085/ 在这里插入图片描述

搭建完毕

至此 RocketMQ 便搭建完毕,应用程序接入走宿主机的 9876 端口即可。

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值