web-dev-qa-db-fra.com

Cassandra cqlsh Impossible de se connecter à aucun serveur - 127.0.0.1:9160 (fermé)> est déjà fermé

J'ai installé Cassandra sous OSX . Lorsque j'essaie d'exécuter cqlsh à partir de/bin /, le message d'erreur suivant s'affiche:

> Connection error: ('Unable to connect to any servers', {'127.0.0.1':
> ConnectionShutdown('Connection <AsyncoreConnection(4522252560)
> 127.0.0.1:9160 (closed)> is already closed',)})

J'avais de la difficulté à installer Cassandra, et j'avais utilisé brasser installer Cassandra, installé DSE à partir de datastax et téléchargé un fichier binaire à partir d'Apache.

14
Peter Dietz

Je pense que le problème est dû à une installation précédente mal désinstallée. Mon répertoire utilisateur .cassandra avait des configurations par défaut, qui devaient appartenir à une version différente, et empêchaient le démarrage de cqlsh.

rm -Rf ~/.cassandra

Après cela, je pourrais exécuter correctement cqlsh.

$ bin/cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cqlsh> 
28
Peter Dietz

Courir cassandra m'a aidé à résoudre le problème:

> cassandra
Cassandra 3.0 and later require Java 8u40 or later.

et: 

> Java -version
Java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-3)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

Après avoir installé Java 8, cela a fonctionné.

9
Eric Saboia

Cassandra-2.1 utilise 9042 en tant que port cqlsh.Connectez-le. Il s'agit du port par défaut.Si vous souhaitez vous connecter sur le port 9160, modifiez-le en définissant les variables d'environnement CQLSH_PORT et CQLSH_Host. Port.

6
hemendra kumar

J'ai rencontré ce problème lorsque j'essayais de me connecter à la version Cassandra 2.0.1 à l'aide de cqlsh 5.0.1 [Cqlsh 4.1.1 | Cassandra 2.0.11.83 | Spéc. CQL 3.1.1 | ] [cqlsh 5.0.1 | Cassandra 2.1.2 | Spéc. CQL 3.2.0]

C’est l’une des raisons de l’erreur "Erreur de connexion: (" Impossible de se connecter à n’importe quel serveur ",". ".

Lorsque j'ai utilisé le client cqlsh compatible avec Cassandra 2.0.1, j'ai pu me connecter au cluster.

J'espère que cela aide à trouver la cause.

3
Karan

Eh bien, j’ai rencontré le même problème et c’est ce que j’ai fait sur Mac.

$cd /usr/local/Cellar/cassandra/3.10_1/bin/     

Ou partout où votre cassandra est installée. 

$cassandra 

cela initialise toute la configuration de votre système local pour démarrer cassandra.

$./cqlsh 

Cela vous permet d’entrer en mode de requête cql.

2
nik_7

Ajoutez/modifiez simplement les éléments suivants dans le fichier cassandra.yaml:

 rpc_address: 127.0.0.1
 seeds: "127.0.0.1"
 listen_address: 127.0.0.1

Notez que, dans tous ces champs, les valeurs doivent être identiques . Cela signifie que si vous pointez sur une adresse IP statique, utilisez la même adresse IP. Et si vous pointez simplement l'hôte local, alors l'hôte local doit être utilisé dans tous les champs.

1
KayV

Je me suis mis dans un pétrin alors voici mon scénario si quelqu'un d'autre le rencontrait:

  1. J'ai suivi ce tutoriel http://www.datastax.com/2012/01/working-with-Apache-cassandra-on-mac-os-x (Qui est un peu désuet). 
  2. J'ai tout installé et fonctionne - tout va bien. Ensuite, j'ai décidé de télécharger les outils Datastax Enterprise pour les essayer.
  3. Couru dans les erreurs lors de l'installation, mais l'installation est passée. Encore une fois, après le tutoriel ci-dessus, j'ai essayé d’exécuter le programme ./datastax-agent et cela a échoué. Décidé de simplement mettre en sac, ils ont donc lancé leur programme de désinstallation dans leur dossier d’installation.
  4. J'ai essayé de revenir au dossier Cassandra original (ce que j’avais fonctionné à l’étape 2) et d’exécuter "Sudo ./cassandra", puis j’ai commencé à obtenir une erreur JMX (message "Impossible de lier JMX, Cassandra est-elle déjà en cours?"), Ce qui m’a amené ce lien sur le changement de port que j'ai fait (ne résolvant pas vraiment le problème mais travaillant autour de ce dernier) exécute deux versions de Cassandra sur le même ordinateur .
  5. Le service serveur s'exécute sous un nouveau port mais lors de la tentative de connexion au client "Sudo ./cqlsh" ne fonctionnerait pas (obtiendrait "Erreur = aucun" ou la destination introuvable).
  6. L’étape de suppression @Peter mentionnée ci-dessus a-t-elle réessayée et ne fonctionne toujours pas.
  7. Décidé de revenir en arrière et de voir ce qui était accroché au port d'origine utilisé par Cassandra, que j'ai modifié à l'étape 4 Qui écoute sur un port TCP donné sous Mac OS X?
  8. Déterminé que Java.app était accroché dessus, il l'a tué dans Activity Monitor.
  9. Relancez à nouveau la commande de suppression @Peter mentionnée ci-dessus et décide de télécharger la version stable (v2.0.13) à la place de la version dev et de parcourir à nouveau le didacticiel de l'étape 1.
  10. Terminal quitté et rouvert. Ran "Sudo ./cassandra" - fonctionnait parfaitement sous les ports standard. Ouvrez une autre fenêtre de terminal et lancez "Sudo ./cqlsh" et cela fonctionne également correctement.

Je crois qu'entre Java dépend du port par défaut 9042 (peut-être des erreurs d'installation de DataStax), les paramètres de version/hôte/port dans ~/.cassandra/cqlshrc et l'utilisation de la version dev de cassandra me causaient tous des problèmes.

0
Chris Smith

J'ai résolu ce problème dans DSE-5.0 en modifiant le fichier ci-dessous:

vi ~/.cassandra/cqlshrc 

Et l'édition ci-dessous configure l'adresse IP actuelle (192.168.1.6) de la machine en cours d'exécution. Dans mon cas, c'est mon MacBook.

[connection]
hostname = 192.168.1.6
port = 9042
; factory = cqlshlib.kerberos_ssl.kerberos_ssl_transport_factory

; [kerberos]
; hostname = 192.168.1.6
; service = cassandra
; optional
; principal = bill/[email protected]

J'espère que ça va aider quelqu'un.

Merci,

Chandan

0
Chandan Patra

Vous devez démarrer Cassandra à partir du répertoire bin du répertoire emplacement_installation . Par exemple, cette commande démarrera Cassandra au premier plan:

$ ./cassandra -f

Puis ouvrez un autre onglet de terminal (commande + t) et lancez cqlsh

$ ./cqlsh
0
Arena Hernandez

J'avais du mal à connecter Cassandra du terminal

[Cassandra image]

et puis j'ai essayé de me connecter avec/usr/local/Cellar /

[Cassandra image]

puis invoquer cassandra. Puis ouvert un nouveau terminal et tapé cqlsh le Cassandra a commencé.

J'espère que cela pourra également s'appliquer pour résoudre le problème de Cassandra.

0
Vasudevan Rao

installez Java jdk et définissez Java_HOME dans les variables d'environnement ou définissez Java_HOME = chemin Java dans l'invite de commande.

après 

lancer cassandra.bat

il montrera les journaux si vous obtenez une erreur

0
raj krishna