目前在测试RocketMQ 5.1.0,用Docker进行部署,有哪位知道怎么修改Broker的IP[阿里云消息队列MQ]

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

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 填下brokerIP1和brokerIP2这两个配置,broker的配置文件天的一下就行,此回答整理自钉群“群1-Apache RocketMQ 中国开发者钉钉群”

  2. 在使用 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=DefaultClusterbrokerName=broker-abrokerId=0brokerIP1=主机IPbrokerIP2=主机IP

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

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