My Java jest w następujący sposób:"Wszystko hosta (s) próbował do zapytania nie powiodło się" Błąd
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Metadata;
import com.datastax.driver.core.Session;
public class CustomerController {
public void execute() {
Cluster cluster = Cluster.builder()
.addContactPoints("172.16.11.126", "172.16.11.130")
.withPort(9042)
.build();
Session session = cluster.connect();
String command = "drop keyspace if exists bookstore";
session.execute(command);
cluster.close();
}
}
Kiedy uruchomić kod, pojawia się następujący błąd:
Exception in thread "main" com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /172.16.11.130 (com.datastax.driver.core.TransportException: [/172.16.11.130] Cannot connect), /172.16.11.126 (com.datastax.driver.core.TransportException: [/172.16.11.126] Cannot connect))
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:195)
at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:78)
at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1029)
at com.datastax.driver.core.Cluster.init(Cluster.java:120)
at com.datastax.driver.core.Cluster.connect(Cluster.java:197)
at com.pragatisoftware.datastax99.app.CustomerController.execute(CustomerController.java:12)
at com.pragatisoftware.datastax99.app.Application.run(Application.java:10)
at com.pragatisoftware.datastax99.app.Application.main(Application.java:6)
środowisku informacyjnym :
ekspres- Ubuntu
- Eclipse Luna
- Java 1.7
- Cassandra 2.0.11
W cassandra.yaml:
native_transport_port: 9042
Cassandra jest uruchomiony na obu adresów IP 172.16.11.130 i powyżej (172.16.11.126) i ja jestem w stanie połączyć się za pomocą CQLSH do obu maszyn.
Przy okazji, ten sam kod (z odpowiednim adresem IP) działał na komputerze z systemem Windows, używając Cassandra 2.0.9.
Co to jest 'cassandra.yaml'? Szczególnie 'rpc_address' – Chiron
Upewnij się również,' 'start_native_transport: true'' w twoim pliku yaml. –
@Chiron, rpc_address był localhost. Zmieniło to na 0.0.0.0. Dzięki. – Pradyumn