RocketMQ:设置broker的对外IP

背景

最近在公司遇到这么一个问题:我在测试环境中搭建了一套RocketMQ,开发想要使用本机链接进行生产消费的测试,可是发现服务没法正常访问,报以下错误:html

send heart beat to broker error {"fields": {"underlayError":{"Op":"dial","Net":"tcp","Source":null,"Addr":{"IP":"10.13.10.29","Port":10911,"Zone":""},"Err":{}}}}网络

分析

这个错误指的是本机向broker服务(10.13.10.29)发生心跳失败。开发尝试去telnet这个ip和端口,发现确实没法访问。而后我去云平台上查了一下这个broker机器,其ip为10.13.10.29,属于内网段ip,外界网络没法直接访问此ip。运维

解决方法

因为这台broker机器已绑定了外网IP,那是否是给broker服务配置一下外网IP就能够了呢?tcp

因而我查了下broker的配置文件,发现确实有两个配置项能够作到:ide

brokerIP1:当前broker监听的IP。测试

brokerIP2:broker为master-slave模式时,broker的从节点经过brokerIP2和主节点进行链接。url

以下图:我给broker配置brokerIP1为外网IP。spa

而后,重启broker服务。.net

这时候本机再经过nameserver去链接broker进行生产消费,就不会报ip和端口没法连上的问题了。server

博主:测试生财(一个不为996而996的测开码农)

座右铭:专一测试开发与自动化运维,努力读书思考写做,为内卷的人生奠基财务自由。

内容范畴:技术提高,职场杂谈,事业发展,阅读写做,投资理财,健康人生。

csdn:https://blog.csdn.net/ccgshigao

博客园:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374

在码农的苦闷岁月里,期待咱们一块儿成长,欢迎关注,感谢拍砖!

相关文章
相关标签/搜索