docker+rocketmq 5.1.3 单机及2m-2s异步集群部署

rocketmq容器化部署说明

注:此文档rocketmq容器化部署方式

镜像名称

镜像名称tag备注
chtsen/rocketmq5.1.3_uuiddockerhub

端口说明

应用端口说明
namesrv9876
broker10909、10911、10912
console1666

环境变量

注:红色标记为必填变量

环境变量说明默认值
NAMESRV_SVCnamesrv路由服务,单机配置:192.168.100.100:9876 多机配置(以分号分割):192.168.100.100:9876;192.168.100.101:9876yozo-rocketmq-namesrv:9876
BROKER_TYPEbroker服务:单机配置:broker 多机配置:borker分为4个部分:broker-a、broker-a-s、broker-b、broker-b-sbroker
BROKER_IPbroker自身部署所在的ip或者svcyozo-rocketmq-broker

挂载说明

目录及文件容器内目录说明是否需要挂载
数据目录/data/rocketmq/storeBroker持久化目录需要持久化数据时必须挂载

单机部署

服务配置

Docker-compose配置说明


version: '3'
services:
  rocketmq-namesrv:
    image: chtsen/rocketmq:5.1.3_uuid
    container_name: yozo-rocketmq-namesrv
    restart: always
    user: '1099:1099'
    dns_search: .
    ports:
      - 9876:9876
    command: sh /opt/yozo/rocketmq/bin/mqnamesrv
  rocketmq-broker:
    image: chtsen/rocketmq:5.1.3_uuid
    container_name: yozo-rocketmq-broker
    restart: always
    user: '1099:1099'
    dns_search: .
    ports:
      - 10911:10911
      - 10912:10912
      - 10909:10909
    environment:
      - NAMESRV_SVC=yozo-rocketmq-namesrv:9876
      - NAMESRV_TYPE=broker
      - BROKER_IP=yozo-rocketmq-broker
    volumes:
      - ./data:/data/rocketmq/store
  rocketmq-console:
    image: chtsen/rocketmq:5.1.3_uuid
    container_name: yozo-rocketmq-console
    restart: always
    user: '1099:1099'
    dns_search: .
    ports:
     - 1666:1666
    command: /opt/yozo/bin/wait-for-it.sh yozo-rocketmq-broker:10909 --  java -jar rocketmq-console.jar --server.port=1666 --rocketmq.config.namesrvAddrs=yozo-rocketmq-namesrv:9876
networks:
  default:
    external: true
    name: chtsen
启动服务

注:docker-compose命令必须在对应的部署目录下如/rocketmq下执行

# 创建容器并后台运行
docker-compose up -d

双主双从异步部署

注:rocketmq高可用最低需要4台服务器。

服务器规划
节点应用说明
192.168.80.11broker-a
192.168.80.12namesrv、broker-a-s
192.168.80.13broker-b
192.168.80.14namesrv、broker-b-s、console
服务配置

Docker-compose配置说明

服务器(192.168.80.11):

version: '3'
services:
  rocketmq-broker-a:
    image: chtsen/rocketmq:5.1.3_uuid
    container_name: yozo-rocketmq-broker
    restart: always
    user: '1099:1099'
    dns_search: .
    ports:
      - 10911:10911
      - 10912:10912
      - 10909:10909
    environment:
      - NAMESRV_SVC=192.168.80.12:9876;192.168.80.14:9876
      - NAMESRV_TYPE=broker-a
      - BROKER_IP=192.168.80.11
    volumes:
      - ./data:/data/rocketmq/store
#  rocketmq-console:
#    image: chtsen/rocketmq:5.1.3_uuid
#    container_name: yozo-rocketmq-console
#    restart: always
#    user: '1099:1099'
#    dns_search: .
#    ports:
#     - 1666:1666
#    command: /opt/yozo/bin/wait-for-it.sh yozo-rocketmq-broker:10909 --  java -jar rocketmq-console.jar --server.port=1666 --rocketmq.config.namesrvAddrs=yozo-rocketmq-namesrv:9876
networks:
  default:
    external: true
    name: chtsen
服务器(192.168.80.12):
version: '3'
services:
 rocketmq-namesrv:
   image: chtsen/rocketmq:5.1.3_uuid
   container_name: yozo-rocketmq-namesrv
   restart: always
   user: '1099:1099'
   dns_search: .
   ports:
     - 9876:9876
   command: sh /opt/yozo/rocketmq/bin/mqnamesrv
  rocketmq-broker-a-s:
    image: chtsen/rocketmq:5.1.3_uuid
    container_name: yozo-rocketmq-broker-a-s
    restart: always
    user: '1099:1099'
    dns_search: .
    ports:
      - 10911:10911
      - 10912:10912
      - 10909:10909
    environment:
      - NAMESRV_SVC=192.168.80.12:9876;192.168.80.14:9876
      - NAMESRV_TYPE=broker-a-s
      - BROKER_IP=192.168.80.12
    volumes:
      - ./data:/data/rocketmq/store
#  rocketmq-console:
#    image: chtsen/rocketmq:5.1.3_uuid
#    container_name: yozo-rocketmq-console
#    restart: always
#    user: '1099:1099'
#    dns_search: .
#    ports:
#     - 1666:1666
#    command: /opt/yozo/bin/wait-for-it.sh yozo-rocketmq-broker:10909 --  java -jar rocketmq-console.jar --server.port=1666 --rocketmq.config.namesrvAddrs=yozo-rocketmq-namesrv:9876
networks:
  default:
    external: true
    name: chtsen
服务器(192.168.80.13):
version: '3'
services:
  rocketmq-broker-b:
    image: chtsen/rocketmq:5.1.3_uuid
    container_name: yozo-rocketmq-broker
    restart: always
    user: '1099:1099'
    dns_search: .
    ports:
      - 10911:10911
      - 10912:10912
      - 10909:10909
    environment:
      - NAMESRV_SVC=192.168.80.12:9876;192.168.80.14:9876
      - NAMESRV_TYPE=broker-b
      - BROKER_IP=192.168.80.13
    volumes:
      - ./data:/data/rocketmq/store
#  rocketmq-console:
#    image: chtsen/rocketmq:5.1.3_uuid
#    container_name: yozo-rocketmq-console
#    restart: always
#    user: '1099:1099'
#    dns_search: .
#    ports:
#     - 1666:1666
#    command: /opt/yozo/bin/wait-for-it.sh yozo-rocketmq-broker:10909 --  java -jar rocketmq-console.jar --server.port=1666 --rocketmq.config.namesrvAddrs=yozo-rocketmq-namesrv:9876
networks:
  default:
    external: true
    name: chtsen
服务器(192.168.80.14):
version: '3'
services:
 rocketmq-namesrv:
   image: chtsen/rocketmq:5.1.3_uuid
   container_name: yozo-rocketmq-namesrv
   restart: always
   user: '1099:1099'
   dns_search: .
   ports:
     - 9876:9876
   command: sh /opt/yozo/rocketmq/bin/mqnamesrv
  rocketmq-broker-b-s:
    image: chtsen/rocketmq:5.1.3_uuid
    container_name: yozo-rocketmq-broker-b-s
    restart: always
    user: '1099:1099'
    dns_search: .
    ports:
      - 10911:10911
      - 10912:10912
      - 10909:10909
    environment:
      - NAMESRV_SVC=192.168.80.12:9876;192.168.80.14:9876
      - NAMESRV_TYPE=broker-b-s
      - BROKER_IP=192.168.80.12
    volumes:
      - ./data:/data/rocketmq/store
  rocketmq-console:
    image: chtsen/rocketmq:5.1.3_uuid
    container_name: yozo-rocketmq-console
    restart: always
    user: '1099:1099'
    dns_search: .
    ports:
     - 1666:1666
    command: /opt/yozo/bin/wait-for-it.sh yozo-rocketmq-broker-b-s:10909 --  java -jar rocketmq-console.jar --server.port=1666 --rocketmq.config.namesrvAddrs=192.168.80.13:9876
networks:
  default:
    external: true
    name: chtsen
启动服务

注:docker-compose命令必须在对应的部署目录下如/rocketmq下执行

# 进入对接机器,创建容器并后台运行
docker-compose up -d

注意事项

  • 镜像内使用非root用户,用户uid/gid为1099,如有需要启动时添加user参数,并保证所有映射的磁盘目录皆为1099用户/组权限
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值