RocketMQ 阿里云部署 设置brokerIP 及不生效问题

为什么在开发环境MQ(4.2版本)可以正常发送和接收消息,到线上环境就不可用了报:Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to failed

由于线上环境有多个网卡,默认情况下MQ很可能走的是内网的IP(因内网网卡排在外网网卡前面)所以要做如下修改:

在/usr/local/rocketmq/rocketmq-rocketmq-all-4.2.0/distribution/target/apache-rocketmq/conf下的broker.conf中添加

namesrvAddr=服务器外网IP:9876
brokerIP1=服务器外网IP

并且重启namesrv和broker

启动namesrv命令:nohup sh mqnamesrv >/usr/local/rocketmq/rocketmq-rocketmq-all-4.2.0/logs/mqnamesrv.log 2>&1 &

启动broker命令:nohup sh bin/mqbroker -c conf/broker.conf &(必须使用此命令,否则配置的IP可能不会生效)

下面是代码上的改动:

在创建消息发送实例和开启消费者监听服务时分别加红框中的设置(关闭VIP通道)

RocketMQ 阿里云部署 设置brokerIP 及不生效问题_第1张图片

RocketMQ 阿里云部署 设置brokerIP 及不生效问题_第2张图片

特别提醒:阿里云的安全组中要增加10911和9876的端口

你可能感兴趣的:(RocketMQ 阿里云部署 设置brokerIP 及不生效问题)