RocketMQ我把内网nameserver的端口9876映射到公网,然后在公网环境中用java服务连接这个映射后的nameserver地址,一直报着日志:
2023-12-16 16:19:04.231 INFO 12 --- [NettyClientSelector_1] [TID:N/A] RocketmqRemoting : closeChannel: close the connection to remote addr
ess[] result: true
2023-12-16 16:19:04.253 INFO 12 --- [NettyClientSelector_1] [TID:N/A] RocketmqRemoting : closeChannel: close the connection to remote addr
ess[] result: true
好像一直连接不上,有遇到这个问题的大佬嘛?网络端口确定都是通的.那如果要访问内网的rocketmq集群,需要怎么做呢?
可以换成proxy方式,只要把proxy端口暴露出去就可以 nameserver是注册中心,broker注册到nameserver的是内网地址 ,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
从日志中可以看出,连接被关闭了,但是没有给出具体的错误信息。这可能是由于网络问题、防火墙设置或者RocketMQ配置问题导致的。
首先,检查你的公网环境是否可以访问内网的nameserver地址。你可以尝试在公网环境中使用ping命令测试内网nameserver的连通性。
其次,检查防火墙设置,确保内网的RocketMQ端口(默认为9876)是开放的。你可以在公网环境中尝试使用telnet命令测试端口是否开放。
最后,检查RocketMQ的配置,确保内网的nameserver地址和端口是正确的。你可以在公网环境中查看RocketMQ的配置文件,确认内网nameserver的地址和端口是否正确。
如果您将RocketMQ内网NameServer的端口9876映射到公网,并在公网环境中使用Java服务连接该映射后的NameServer地址,但一直无法连接成功,并报告关闭连接的日志,可能有以下几个原因和解决方法:
防火墙或网络配置问题:请确保RocketMQ集群所在的内网环境允许公网流量通过。检查防火墙设置、路由配置和网络访问控制等,确保公网请求可以正确到达内网的映射端口。
名称解析问题:在公网环境中,将内网的域名解析为对应的公网IP地址可能会遇到问题。建议直接使用内网IP地址进行连接测试,确保能够连通。
内外网地址转换:如果您的内网环境使用了NAT(Network Address Translation)或类似技术将内网地址映射为公网地址,可能需要在配置中添加相应的转换规则,以确保请求能够正确转发到内网地址。
其他配置错误:请确保公网环境中的Java服务正确配置了RocketMQ集群的NameServer地址和端口,并且具备与RocketMQ集群相同的网络可达性。
如果以上方法仍然无法解决问题,建议进一步排查日志文件,查看是否有其他错误或警告信息,以帮助定位和解决问题。另外,可以联系RocketMQ的技术支持团队,提供详细的错误日志和操作步骤,以便他们能够更好地帮助您解决问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/