Após alguns autotestes, achei que estou com um problema telnet
. Então, estou recriando uma versão menor de esta pergunta
Eu tenho duas máquinas:
Meu programa java é:
public static void main(String a[])
{
System.out.println("I am in");
Client client = new Client();
client.connect("172.17.1.XX");
client.close();
}
public static void connect(String node)
{
cluster = Cluster.builder().addContactPoint(node).withPort(9160).build();
Metadata metadata = cluster.getMetadata();
}
Se eu executar este programa na máquina cassandra, ele funciona. Se eu rodar o mesmo programa da minha segunda máquina, a saída é:
Exception in thread "main" com.datastax.driver.core.exceptions.NoHostAvailableException:
All host(s) tried for query failed (tried: /172.17.1.XX:9160 (com.datastax.driver.core.TransportException: [/172.17.1.XX:9160] Cannot connect))
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:196)
at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:80)
at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1145)
at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:313)
at com.example.cassandra.Client.connect(Client.java:18)
at com.example.cassandra.Client.main(Client.java:74)
Usando netstat -plten
na máquina do cassandra, retorna
'9160 port is open for all. 0.0.0.0:9160'
Se eu usar: telnet 172.17.1.XX 9160
??? em qual máquina ??? e digite alguma coisa e aperte enter, a saída é:
Connection closed by foreign agent
Eu tentei o mesmo telnet no sistema de cassandra com ip e localhost, estou recebendo o mesmo comportamento.
telnet localhost 9160
aceita 3 entradas e diz connection closed by foreign agent
, enquanto ip aceita apenas duas entradas. O que é isso?
Eu tenho três perguntas: