Por que a execução nodetool
retorna a seguinte exceção?
nodetool: Failed to connect to '127.0.0.1:7199' - \
URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199'.
Essa pergunta é comumente relatada por usuários do Cassandra após atualizar o Java nos servidores.
Causa raiz
O analisador de URL para provedores JNDI que inclui RMI (usado por JMX) foi aprimorado no Oracle Java 8u331 e colchetes são permitidos apenas em torno de endereços IPv6 ( JDK-8278972 ).
As tentativas de execução
nodetool
com versões Java mais recentes são interrompidas porque o host na URL RMI está entre colchetes (da classe NodeProbe.java ):Soluções alternativas
OPÇÃO 1 - Adicione o sinalizador de análise "legado" ao executar
nodetool
, por exemplo:OPÇÃO 2 - Especifique o nome do host com um prefixo de sub-rede IPv6, por exemplo:
Solução
Esse problema foi resolvido nas versões do Apache Cassandra 3.0.27, 3.11.13, 4.0.4 e 4.1 ( CASSANDRA-17581 ).
Atualize para a versão de patch mais recente para corrigir o problema em seu cluster. Felicidades!
Republicado da Comunidade DataStax .