RocketMQ broker.conf中的配置 是这样子的 namesrvAddr = [2406:XXXX:600:0:0:1:0:57f]:9876 如果把 “[]”去掉 会报错 o.netty.channel.AbstractChannel$AnnotatedSocketException: Invalid argument: /0.0.9.102:440)这种,该如何解决?
试试namesrvAddr = 127.0.0.1:9876;128.0.0.1:9876 这种格式。根据namesrv和remoting.log中 NettyClientScan_thread_1 - createChannel: begin to connect remote host,都会进入到这个方法,getHostAndPort()方法就是简单的split,所以看这个感觉只适合ipv4
此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”。
当您在RocketMQ的broker.conf中配置namesrvAddr时,IPv6地址需要使用方括号来包围。如果将方括号去掉,会导致解析错误,并出现类似"Invalid argument: /0.0.9.102:440"的错误。
要解决此问题,请确保您在配置namesrvAddr时正确地使用方括号来包围IPv6地址。这样可以使RocketMQ正确解析和连接到Name Server。
例如,将配置修改为以下格式:
namesrvAddr = [2406:XXXX:600:0:0:1:0:57f]:9876
请注意,方括号是必需的,以便在IPv6地址中指定主机部分。
如果您仍然遇到问题,请确保您的网络环境和RocketMQ配置正确,并且能够正确访问Name Server所在的IPv6地址。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/