Erreur lors de la connexion à Cassandra à l'aide de Java Pilote pour Apache Cassandra 1.0 de com.exemple.cassandra
Lors de la connexion à Cassandra client à l'aide de java pilote pour Cannsandra par DataStax, il est en train de lancer d'erreur suivant..
Exception in thread "main" com.datastax.le pilote.de base.des exceptions.NoHostAvailableException: Tous hôte(s) essayé pour la requête a échoué (essayé: [/127.0.0.1])
S'il vous plaît suggérer...
Merci!
Mon code java est comme ceci:
package com.example.cassandra;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
public class SimpleClient {
private Cluster cluster;
public void connect(String node){
cluster = Cluster.builder().addContactPoint(node).build();
Metadata metadata = cluster.getMetadata();
System.out.println(metadata.getClusterName());
}
public void close()
{
cluster.shutdown();
}
public static void main(String args[]) {
SimpleClient client = new SimpleClient();
client.connect("127.0.0.1");
client.close();
}
- Juste pour ajouter plus de clarté: je suis sûr que je suis connecté à cassandra. Il est encore en montrant cette erreur
Vous devez vous connecter pour publier un commentaire.
Dans mon cas, j'ai couru dans cette question que j'ai utilisé de la RPC par défaut de port de 9160 lors de la connexion. On peut trouver un autre port pour CQL de cassandra.yaml -
Une fois que j'ai changé le code pour utiliser le port 9042 la tentative de connexion a réussi -
J'ai eu ce problème et il a été trié par réglage de la ReadTimeout dans SocketOptions:
Aller à votre Apache Cassandra répertoire conf et activer le protocole binaire
Cassandra protocole binaire
Le pilote Java utilise le protocole binaire qui a été introduit dans Cassandra 1.2. Il ne fonctionne qu'avec une version de Cassandra supérieure ou égale à 1,2. En outre, le protocole binaire du serveur n'est pas démarré avec le fichier de configuration par défaut dans Cassandr un 1.2. Vous devez modifier le cassandra.fichier yaml pour chaque nœud:
Puis redémarrez le nœud.
J'ai été aussi ayant le même problème. J'ai installé Cassandra dans un autre pc sous Linux et a essayé de se connecter via la Fenêtre pc. Je n'étais pas autorisé à créer la connexion.
Mais quand on modifier cassandra.yaml, de mettre mon pc linux adresse ip à rpc_address et redémarrage, il me permet de me connecter avec succès,
Juste poster ce que pour les personnes qui pourraient avoir le même problème que moi, quand j'ai eu ce message d'erreur. S'est avéré que mon complexe de l'arbre des dépendances porté sur une ancienne version de com.google.les collections, ce qui a brisé le CQL pilote. La suppression de cette dépendance et de s'en remettre entièrement à la goyave a résolu mon problème.
J'ai eu le même problème de test d'un nouveau cluster avec un nœud.
Après la suppression de ce du Cluster builder, j'ai été en mesure de se connecter:
Il a été en mesure de se connecter.
Dans mon cas, cela a été un port de problème, j'ai oublié de mettre à jour
Vieux port RPC est
9160
Nouveau binaire port est
9042
J'ai moi aussi rencontré ce problème, et il a été causé par une simple erreur dans la déclaration qui a été soumis.
De toute évidence, le message d'erreur est trompeur.
Modifier
et changement
rpc_address
à0.0.0.0
,broadcast_rpc_address et listen_address à l'adresse ip du cluster.Vérifier les points ci-dessous:
i) vérifier ip du serveur
ii) vérifier le port d'écoute
iii) les données de la pile client de dépendance doit correspondre à la version du serveur.
Sur le fichier yaml, les dernières versions a au-dessous des propriétés activé:
En supposant que vous avez des configurations par défaut en place, vérifiez la version du pilote de compatibilité. Pas toutes les versions de pilote sont compatibles avec toutes les versions de Cassandra, s'ils prétendent compatibilité descendante. Veuillez voir le lien ci-dessous.
http://docs.datastax.com/en/developer/java-driver/3.1/manual/native_protocol/
J'ai rencontré un problème similaire & la modification de la version du pilote résolu mon problème.
Remarque: j'espère que vous utilisez Maven (ou quelque chose de similaire) pour résoudre les dépendances. Sinon, vous pourriez avoir à télécharger un grand nombre de dépendances pour les versions supérieures de pilote.