当前位置: 首页 > article >正文

RocketMQ部署教程

  1. 拉取 RocketMQ 镜像:
    首先,从 Docker Hub 获取最新的 RocketMQ 镜像:
  docker pull apache/rocketmq:latest
  1. 创建 Docker 网络:
    为了使各容器之间能够通信,创建一个名为 rocketmq 的网络:

    docker network create rocketmq
    
  2. 启动 NameServer:
    NameServer 是 RocketMQ 的核心组件之一,负责管理路由信息。使用以下命令启动:

    docker run -d --name rmqnamesrv --network rocketmq -p 9876:9876 apache/rocketmq:latest sh mqnamesrv
    
  3. 配置 Broker:
    为了设置账户密码,需要在 Broker 的配置文件中启用 ACL(访问控制列表)。首先,在主机上创建一个目录来存放配置文件:

    mkdir -p /home/rocketmq/broker/conf
    

    然后,在该目录下创建 broker.conf 文件,内容如下:

    brokerClusterName=DefaultCluster
    brokerName=broker-a
    brokerId=0
    namesrvAddr=rmqnamesrv:9876
    autoCreateTopicEnable=false
    autoCreateSubscriptionGroup=false
    aclEnable=true
    

    请注意,aclEnable=true 用于启用 ACL 功能。

  4. 配置 ACL:
    在同一目录下创建 plain_acl.yml 文件,定义用户的访问权限:

    accounts:
      - accessKey: admin
        secretKey: 123456
        whiteRemoteAddress: 192.168.0.*
        admin: true
        defaultTopicPerm: DENY
        defaultGroupPerm: DENY
    

    上述配置创建了一个用户名为 admin,密码为 123456 的管理员账户,且仅允许来自 192.168.0.* 网段的访问。

  5. 启动 Broker:
    使用以下命令启动 Broker,并挂载配置文件:

    docker run -d --name rmqbroker --network rocketmq -p 10911:10911 -p 10909:10909 -v /home/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-4.9.0/conf/broker.conf -v /home/rocketmq/broker/conf/plain_acl.yml:/home/rocketmq/rocketmq-4.9.0/conf/plain_acl.yml -e "NAMESRV_ADDR=rmqnamesrv:9876" apache/rocketmq:latest sh mqbroker -c /home/rocketmq/rocketmq-4.9.0/conf/broker.conf
    
  6. 部署 RocketMQ 控制台(可选):
    为了方便管理和监控,您可以部署 RocketMQ 控制台。首先,拉取控制台镜像:

    docker pull apacherocketmq/rocketmq-dashboard:latest
    

    然后,启动控制台容器:

    docker run -d --name rmq-dashboard --network rocketmq -p 8080:8080 -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Drocketmq.config.loginRequired=true -Drocketmq.config.accessKey=admin -Drocketmq.config.secretKey=123456" apacherocketmq/rocketmq-dashboard:latest
    

    此时,可以通过浏览器访问 http://<主机IP>:8080,使用配置的账户密码登录控制台。


http://www.kler.cn/a/386188.html

相关文章:

  • 深入探索 TypeScript:从基础到高级特性
  • 「QT」文件类 之 QDataStream 数据流类
  • Python入门(4)--流程控制(下)
  • u盘加密软件有哪些?2025年必备的u盘加密神器分享(共6款!提前布局!)
  • git没有识别出大写字母改成小写重命名的文件目录
  • Dockerfile的使用
  • 力扣第39题:组合总和(C语言解法)
  • 基于springboot的作业管理系统设计与实现
  • Linux基础-1
  • Linux Centos7 如何安装图形化界面
  • LVSM: A LARGE VIEW SYNTHESIS MODEL WITH MINIMAL 3D INDUCTIVE BIAS 论文解读
  • (Go语言)Go基础的进阶知识!带你认识迭代器与类型以及声明并使用接口与泛型!
  • web实操2——idea创建普通web项目
  • FilterListener组件
  • SSH实验5密钥登录Linuxroot用户(免密登录)
  • NodeJS的安装 npm 配置和使用 Vue-cli安装 Vue项目介绍
  • 理解虚拟 DOM:Vue 的灵魂之处
  • 关于CountDownLatch失效问题
  • 量化交易系统开发-实时行情自动化交易-股票大资金动力指标
  • ROS2humble版本使用colcon构建包
  • Remix部署智能合约时报错:Gas estimation failed
  • lua ruturn 和goto
  • 【DL】YOLO11 OBB目标检测 | 模型训练 | 推理
  • 鸿蒙系统崛起:机遇、挑战与未来展望
  • matlab 质心重合法实现点云配准
  • 2-148 基于matlab的铣削动力学仿真