为什么运行nodetool会返回以下异常?
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用户通常会报告这个问题。
发布于 2022-08-18 05:02:15
OracleJava8u331中改进了用于JNDI提供程序的URL解析器,其中包括RMI (由JMX使用),并且只允许围绕IPv6地址(JDK-8278972)使用方括号。
尝试使用更新的nodetool版本运行NodeProbe.java会中断,因为RMI中的主机被括在方括号中(来自C4类):
private static final String fmtUrl = "service:jmx:rmi:///jndi/rmi://[%s]:%d/jmxrmi";OPTION 1 --例如,在运行nodetool时添加“遗留”解析标志:
$ nodetool -Dcom.sun.jndi.rmiURLParsing=legacy statusOPTION 2 -指定带有IPv6子网前缀的主机名,例如:
$ nodetool -h ::FFFF:127.0.0.1 statusApacheCassandra3.0.27、3.11.13、4.0.4和4.1版本(卡桑德拉-17581)已经解决了这个问题。
升级到最新的修补程序发行版,以解决集群中的问题。干杯!
从DataStax社区重新发布。
请支持Apache社区,在卡桑德拉上盘旋,然后单击Watch tag按钮。谢谢!
https://dba.stackexchange.com/questions/315761
复制相似问题