开发者社区 > 云原生 > 消息队列 > 正文

目前在测试RocketMQ 5.1.0,用Docker进行部署,有哪位知道怎么修改Broker的IP

目前在测试RocketMQ 5.1.0,用Docker进行部署,有哪位知道怎么修改Broker的IP地址吗?不修改的话使用的是Docker内部的IP地址,没法和外部程序进行通信怎么办?image.png

展开
收起
真的很搞笑 2023-04-24 22:48:59 669 0
2 条回答
写回答
取消 提交回答
  • 填下brokerIP1和brokerIP2这两个配置,broker的配置文件天的一下就行,此回答整理自钉群“群1-Apache RocketMQ 中国开发者钉钉群”

    2023-04-27 14:33:21
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在使用 Docker 部署 RocketMQ 时,可以通过修改以下配置文件,修改 Broker 的 IP 地址:

    首先,在 Docker 中启动 RocketMQ 镜像时,需要将主机(Host)IP 地址映射到 Docker 容器中,以实现与外部程序的通信。例如:

    docker run -d -p 9876:9876 -e "JAVA_OPTS=-Drocketmq.namesrv.addr=主机IP:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" --name rmqnamesrv rocketmqinc/rocketmq:4.5.1 sh mqnamesrv
    

    上述命令中,通过 JAVA_OPTS 环境变量指定 RocketMQ 主机 IP 地址,然后映射容器端口 9876 到主机端口 9876,以实现与外部程序的通信。

    然后,在 Broker 配置文件中(conf/broker.conf),修改 brokerIP1 和 brokerIP2 参数为主机 IP 地址。例如:

    brokerClusterName=DefaultCluster
    brokerName=broker-a
    brokerId=0
    brokerIP1=主机IP
    brokerIP2=主机IP
    

    修改后,保存配置文件并重启 Docker 容器,就可以通过主机 IP 地址与 RocketMQ Broker 进行通信了。

    如果使用 Docker Compose 或者 Kubernetes 部署 RocketMQ,可以在对应的配置文件中修改 Broker 的 IP 地址。而且,在 RocketMQ 5.x 版本中,通过 brokerIP1 和 brokerIP2 参数来配置 Broker IP 地址,不需要再额外设置 listenPort 参数。

    2023-04-25 08:05:29
    赞同 展开评论 打赏

高弹性低成本、更稳定更安全、智能化免运维的消息队列服务,涵盖RocketMQ、Kafka、RabbitMQ、MQTT、MNS等。 RocketMQ一站式学习:https://rocketmq-learning.com

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    应用 Docker 进行持续交付:用技术改变交付路程 立即下载
    从Docker到容器服务 立即下载
    构建基因数据应用生态系统—— docker in Bio/informatics 立即下载