首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java8u331节点工具返回索引7处的"URISyntaxException:‘畸形的IPv6地址: rmi://[127.0.0.1]:7199'“

Java8u331节点工具返回索引7处的"URISyntaxException:‘畸形的IPv6地址: rmi://[127.0.0.1]:7199'“
EN

Database Administration用户
提问于 2022-08-18 05:02:15
回答 1查看 2.8K关注 0票数 4

为什么运行nodetool会返回以下异常?

代码语言:javascript
复制
nodetool: Failed to connect to '127.0.0.1:7199' - \
  URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199'.

在服务器上升级Java之后,Cassandra用户通常会报告这个问题。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2022-08-18 05:02:15

根源

OracleJava8u331中改进了用于JNDI提供程序的URL解析器,其中包括RMI (由JMX使用),并且只允许围绕IPv6地址(JDK-8278972)使用方括号。

尝试使用更新的nodetool版本运行NodeProbe.java会中断,因为RMI中的主机被括在方括号中(来自C4类):

代码语言:javascript
复制
    private static final String fmtUrl = "service:jmx:rmi:///jndi/rmi://[%s]:%d/jmxrmi";

解决方案

OPTION 1 --例如,在运行nodetool时添加“遗留”解析标志:

代码语言:javascript
复制
$ nodetool -Dcom.sun.jndi.rmiURLParsing=legacy status

OPTION 2 -指定带有IPv6子网前缀的主机名,例如:

代码语言:javascript
复制
$ nodetool -h ::FFFF:127.0.0.1 status

溶液

ApacheCassandra3.0.27、3.11.13、4.0.4和4.1版本(卡桑德拉-17581)已经解决了这个问题。

升级到最新的修补程序发行版,以解决集群中的问题。干杯!

DataStax社区重新发布。

请支持Apache社区,在卡桑德拉上盘旋,然后单击Watch tag按钮。谢谢!

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/315761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档