Comment se connecter à Cassandra(remotehost) à l'aide de cqlsh
Je ne cqlsh à l'hôte distant
./cqlsh xx.xx.x.xxx 9042
Connection error: ('Unable to connect to any servers', {'10.101.33.163':
ConnectionException(u'Did not get expected SupportedMessage response;
instead, got: <ErrorMessage code=0000 [Server error]
message="io.netty.handler.codec.DecoderException:
org.apache.cassandra.transport.ProtocolException: Invalid or unsupported
protocol version: 4">',)})
Je suis en utilisant cqlsh 5.0.1 et python 2.7.10
./cqlsh --version
cqlsh 5.0.1
python -V
Python 2.7.10
Je suis sur mac et utilisé les instructions de http://www.datastax.com/2012/01/working-with-apache-cassandra-on-mac-os-x pour télécharger cassandra.
Cassandra sur mon local est 2.2.1(ce que je comprends à partir du fichier zip) et il apparaît comme cassandra sur l'hôte distant n'est PAS 2.2.1 (je suppose que c'est soit 2.0 ou 2.1). Sans définitivement sachant que la version est sur l'hôte distant, comment puis-je essayer de vous connecter à cassandra sur l'hôte distant
- on dirait que cette - stackoverflow.com/questions/31444098/...
Vous devez vous connecter pour publier un commentaire.
1) assurez-vous que le service est en cours d'exécution:
$ ps aux | grep cassandra
Exemple:
106 7387 5.1 70.9 2019816 1454636 ? SLl Sep02 16:39 /usr/lib/jvm/java-7-oracle/jre/bin/java -Ddse.system_cpu_cores=2 -Ddse.system_memory_in_mb=2003 -Dcassandra.config.chargeur=com.datastax.bdp.config.DseConfigurationLoader -Ddse.system_cpu_cores=2 -Ddse.system_memory_in_mb=2003 -Dcassandra.config.chargeur=com.datastax.bdp.config.DseConfigurationLoader -ea-javaagen...
2) assurez-vous que vous utilisez l'adresse IP correcte, par la vérification de la configuration du serveur:
$ ifconfig
Exemple:
eth1 Lien encap:Ethernet HWaddr 08:00:27:a6:4e:46
inet addr:192.168.56.10 Bcast:192.168.56.255 Masque:255.255.255.0
inet6 addr: fe80::a00:27ff:fea6:4e46/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
3) s'Assurer que vous pouvez vous connecter à l'IP du serveur, vous êtes sur:
$ ssh [email protected]
4) Vérifier le nœud de l'état et aussi de confirmer qu'il montre la même IP:
$nodetool statut
5) lancer la commande pour se connecter avec l'IP (uniquement spécifier le port, si vous n'êtes pas à l'aide de la valeur par défaut):
$ cqlsh xxx.xxx.xx.xx
Vous pourriez avoir besoin de mettre cqlsh de 2.1 ou 2.0 sur votre mac afin de correspondre au serveur que vous tentez de vous connecter. Donc, c'est ce que j'avais essayer en premier.
Je vivais la même erreur (Cassandra running 2.2.0 sur Windows 8.1), et a trouvé une solution de contournement par Gustav Grusell qui a fonctionné pour moi: https://issues.apache.org/jira/browse/CASSANDRA-9467?focusedCommentId=14693410&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14693410
La solution qu'il présente est de modifier votre cqlsh.py script d'accepter une version du protocole. Après avoir effectué ces modifications, vous serez en mesure de spécifier le protocole de la version 3 (par exemple) en passant
--protocolversion=3
à cqlsh.Recherchez
cqlsh.py
dans votre Cassandra dossier bin et de le sauvegarder avant de faire ces changements.Ajoutez la ligne suivante à côté de l'autre
parser.add_option
consolidés (~ligne 175):Ajouter ce qui suit à côté de l'autre optvalues sous
def read_options(cmdlineargs, environment):
(~ligne 2520):Ajouter les points suivants avant de l'instruction de retour dans
def read_options(cmdlineargs, environment):
(~ligne 2574)Modifier la commande Shell dans
def main(options, hostname, port):
pour inclure la version du protocole (~ligne 2657):Voici ce que mon cqlsh.py ressemble maintenant à: http://pastebin.com/f9D2zEE4