Docker 搭建部署 RocketMQ 遇到broker 253问题

Docker 搭建部署 RocketMQ 遇到broker 253问题

  1. 官方文档:RocketMQ-Docker
  2. 官方docker镜像:This is the Git repo of the Docker Image for Apache RocketMQ and official docker hub repo
  3. 使用命令查询docker镜像docker search apache/rocketmq
  4. 拉取镜像docker pull apache/rocketmq:4.9.1(此处4.9.1为我下载的版本,不同自己改就好了)
  5. 根据流程操作
    • cd /home/rocketmq
    • mkdir -p data/broker/conf && cd data/broker/conf
    • vi broker.conf, 并写入
    brokerClusterName = DefaultCluster
    brokerName = broker-a
    brokerId = 0
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    
    #set `brokerIP1` if you want to set physical IP as broker IP.
    brokerIP1=10.10.0.10
    
    • 同理创建 mkdir -p data1/broker/conf && cd data1/broker/conf
    • vi broker.conf ,并写入
    brokerClusterName = DefaultCluster
    brokerName = broker-b
    brokerId = 0
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    
    #set `brokerIP1` if you want to set physical IP as broker IP.
    brokerIP1=10.10.0.10
    
    • 最后 cd /home/rocketmq,创建 docker-compose.yml 写入
    version: '2'
    services:
      #Service for nameserver
      namesrv:
        image: apache/rocketmq:4.9.1
        container_name: rmqnamesrv
        ports:
          - 9876:9876
        environment:
          - JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m
        volumes:
          - ./data/namesrv/logs:/home/rocketmq/logs
        command: sh mqnamesrv
    
      #Service for broker
### 使用 Docker 部署 RocketMQ 的方法 为了在虚拟机上通过 Docker 容器化部署 RocketMQ 消息队列服务,可以按照如下方式操作: #### 准备工作 确保虚拟机已经安装并配置好了 Docker 环境。创建专门用于存放 RocketMQ 文件的目录 `/opt/rocketmq` 并进入该路径下。 ```bash mkdir /opt/rocketmq && cd /opt/rocketmq ``` 编辑 `broker.conf` 文件来设置 Broker 节点的相关参数[^1]。 #### 编写 docker-compose.yml 文件 编写一个名为 `docker-compose.yml` 的文件,在其中定义所需的服务组件及其依赖关系。下面是一个简单的例子,它包含了 NameServer 和 Broker 两个主要部分: ```yaml version: '3' services: namesrv1: image: rocketmqinc/rocketmq:latest container_name: rmqnamesrv1 environment: MAX_HEAP_SIZE: "512m" HEAP_NEWSIZE: "256m" ports: - "9876:9876" command: "sh mqnamesrv" broker: image: rocketmqinc/rocketmq:latest container_name: rmqbroker environment: MAX_HEAP_SIZE: "512m" HEAP_NEWSIZE: "256m" NAMESRV_ADDR: "rmqnamesrv1:9876" volumes: - ./broker.conf:/home/rocketmq/broker.conf depends_on: - namesrv1 links: - namesrv1 ports: - "10911:10911" - "10909:10909" command: "sh mqbroker -n rmqnamesrv1:9876 autoCreateTopicEnable=true" ``` 此 YAML 文件描述了一个由两部分组成的分布式系统:一个是作为元数据服务器的角色 (Name Server),另一个则是实际处理消息收发工作的角色(Broker)。 启动 RocketMQ 服务只需要执行命令: ```bash docker-compose up -d ``` 这将会以后台模式运行所有的容器实例,并自动完成初始化过程。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值