无法连接到另一台主机

无法连接到另一台主机

经过几次自我测试,我认为我遇到了问题telnet。所以我重新创建了一个较短的版本这个问题

我有两台机器:

  1. cassandra 在一台使用 IP 172.17.1.XX 的机器上运行。
  2. ???

我的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();
 }

如果我在 cassandra 机器上运行此程序,它会运行。如果我从第二台机器运行相同的程序,则输出为:

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在 Cassandra 机器上使用返回

`9160 port is open for all. 0.0.0.0:9160`

如果我使用:telnet 172.17.1.XX 9160“在什么机器上?”并输入一些内容并按回车键,则输出为:

Connection closed by foreign agent

我尝试在 cassandra 系统中使用 ip 和 localhost 进行相同的 telnet,得到了相同的行为。

telnet localhost 9160

接受 3 个输入,connection closed by foreign agent而 ip 只接受 2 个输入。这是什么?

我有三个问题:

  1. 为什么我会收到这个错误?
  2. cassandra 不是一种接受来自 telnet 数据的服务吗?
  3. 我该如何解决这个问题?

相关内容