2016-07-27 1 views
18

J'ai essayé toutes les mesures de this post et Cassandra doc.Erreur de connexion cqlsh: 'ref() ne prend pas les mots-clés'

J'ai essayé d'exécuter toutes les versions de Cassandra, y compris la dernière version 3.7 de tarball et le paquet Debian, mais je continue d'obtenir des erreurs lorsque j'exécute cqlsh.

Erreur:

Connection error: ('Unable to connect to any servers', {'127.0.0.1': TypeError('ref() does not take keyword arguments',)})

J'ai eu aucun problème en cours d'exécution Cassandra avant que je mis à jour mon Linux Mint de 17,3 à 18.

Je crois que j'ai installé tous les packages nécessaires tels que java 8 et python 2.7. 12.

Je pense que le problème existe dans le fichier cassandra.yaml car le paramètre par défaut ne fonctionne pas, mais je ne suis pas sûr de savoir comment configurer correctement pour le faire fonctionner.

Toute suggestion appréciée.

Répondre

17

Vous exécutez CASSANDRA-11850, où cqlsh rompt avec Python 2.7.11+. Ce ticket a été marqué comme "Résolu" et un correctif a été appliqué à Cassandra 3.9 qui n'a pas encore été publié.

I believe I installed all the necessary packages such as java 8 and python 2.7.12.

Dans l'intervalle (jusqu'à 3,9 est libéré), vous pouvez revenir à Python 2.7.10 et cqlsh devrait fonctionner (non trivial). Sinon, DataStax DevCenter devrait fonctionner avec Cassandra 3.7.

Modifier 20161020

Cassandra 3.9 a été libéré il y a quelques semaines, et peut maintenant être downloaded.

+3

Je suis revenu à Python 2.7.10, et maintenant ça marche. Je vous remercie. – tet

+0

J'ai amélioré cassandra à 3.9 et cela fonctionne maintenant –

+0

Vraiment aidé. downgrade 2.7.10 et son travail commencé –

16

se réfèrent https://issues.apache.org/jira/browse/CASSANDRA-11850

Après avoir défini la variable d'environnement

CQLSH_NO_BUNDLED=TRUE 

est résolu.

J'utilise windows 7, python 2.7.12, Kassandra 3.7

+1

J'ai utilisé 'export CQLSH_NO_BUNDLED = TRUE' avant d'exécuter la commande connect car je n'ai pas accès à la variable d'environnement set ... merci .. – whoami

+0

Cela résout. – phcaze

+0

Cela ne fonctionne pas pour moi sur Mac. Mais le paramètre 'PATH =/usr/local/Cellar/python/2.7.11/bin /: $ PATH cqlsh' aide – Yahor

1

Cela fonctionne pour Ubuntu 16.04 dans Amazon EC2:

sudo apt-get --no-install-recommends install python-cassandra python3-cassandra 
CQLSH_NO_BUNDLED=TRUE cqlsh "$(ec2metadata --local-ipv4)" 
0

Même si, après le retour à python 2.7.10, le problème persiste . Cela signifie que le python 2.7.10 n'est pas défini comme la version python par défaut. Allez dans le répertoire/usr/bin et vérifiez les différentes versions de python disponibles, disons que python2.7 correspond à la version 2.7.10 (vous pouvez le vérifier en exécutant la commande python2.7 dans votre terminal et la version python sera mentionnée dans la première ligne de l'interpréteur, essayez la même chose avec toutes les autres versions de python disponibles dans le dossier pour trouver celle qui correspond à la version 2.7.10).

Maintenant, utilisez les commandes suivantes pour la version python correcte (python2.7 dans mon cas) que le choix par défaut

update-alternatives --install/usr/bin/python python/usr/bin/python2 .7