Невозможно подключиться к другому хосту
После нескольких тестов я подумал, что у меня telnet
проблема. Поэтому я воссоздаю более короткую версию этого вопроса.
У меня есть две машины:
- Кассандра работает на одной машине с IP 172.17.1.XX.
- ???
Моя 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();
}
Если я запускаю эту программу на машине Кассандры, она работает. Если я запускаю ту же программу со своего второго компьютера, вывод:
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)
С помощью netstat -plten
на кассандре машина возвращается
`9160 port is open for all. 0.0.0.0:9160`
Если я использую: telnet 172.17.1.XX 9160
на какой машине??? и введите что-то и нажмите Enter, вывод:
Connection closed by foreign agent
Я попробовал тот же telnet в системе cassandra с ip и localhost, я получаю то же самое поведение.
telnet localhost 9160
принимает 3 входа и говорит connection closed by foreign agent
тогда как ip принимает только два входа. Что это?
У меня три вопроса:
- Почему я получаю эту ошибку?
- Кассандра не является службой, которая принимает данные из telnet?
- Как мне это решить?