2016-07-27 22 views
18

Ich habe alle Maße von this post und versucht.cqlsh Verbindungsfehler: 'ref() nimmt keine Schlüsselwortargumente'

Ich habe versucht, alle Versionen von Cassandra einschließlich der neuesten Version 3.7 von Tarball und Debian-Paket auszuführen, aber ich bekomme immer Fehler, wenn ich cqlsh ausführen.

Fehler:

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

Ich hatte kein Problem Cassandra laufen, bevor ich von 17,3 bis 18 meine Linux Mint aktualisiert

Ich glaube, ich alle notwendigen Pakete installiert wie Java 8 und Python 2.7. 12.

Ich denke, das Problem existiert in cassandra.yaml Datei, da die Standardeinstellung nicht funktioniert, aber ich bin mir nicht sicher, wie man richtig konfiguriert, um es zu laufen.

Alle Vorschläge geschätzt.

Antwort

17

Sie laufen in CASSANDRA-11850, wo Cqlsh mit Python 2.7.11 + bricht. Dieses Ticket wurde als "Gelöst" markiert und ein Patch wurde auf Cassandra 3.9 angewendet, der noch nicht veröffentlicht wurde.

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

In der Zwischenzeit (bis 3.9 freigegeben wird), können Sie auf Python Rollback 2.7.10 und cqlsh soll (nicht trivial) arbeiten. Ansonsten sollte DataStax DevCenter mit Cassandra 3.7 funktionieren.

bearbeiten 20161020

Cassandra 3.9 wurde vor ein paar Wochen veröffentlicht, und jetzt downloaded sein kann.

+3

Ich rollte zurück zu Python 2.7.10, und jetzt funktioniert es. Vielen Dank. – tet

+0

Ich habe Cassandra auf 3,9 aktualisiert und es funktioniert jetzt –

+0

Wirklich geholfen. heruntergestuft 2.7.10 und es begann zu arbeiten –

16

siehe https://issues.apache.org/jira/browse/CASSANDRA-11850

Nach Umgebungsvariable

CQLSH_NO_BUNDLED=TRUE 

beschlossen Einstellung.

Ich benutze windows 7, Python 2.7.12, Cassandra 3.7

+1

Ich habe 'export CQLSH_NO_BUNDLED = TRUE' vor dem Ausführen von connect-Befehl, da ich keinen Zugriff auf die Umgebungsvariable haben ... Danke .. – whoami

+0

Dies löst es. – phcaze

+0

Das funktioniert bei mir nicht auf Mac. Aber 'PATH =/usr/local/Keller/python/2.7.11/bin /: $ PATH cqlsh' hilft – Yahor

1

Diese für Ubuntu 16.04 in Amazon EC2 funktioniert:

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

Auch wenn nach dem 2.7.10 wieder auf Python rollen, das Problem weiterhin besteht . Das bedeutet, dass Python 2.7.10 nicht als Python-Standardversion festgelegt ist.

Gehen Sie in/usr/bin Verzeichnis und überprüfen Sie die verschiedenen verfügbaren Python-Versionen, sagen Python2.7 entspricht Version 2.7.10 (Sie können es überprüfen, indem Sie den Befehl python2.7 in Ihrem Terminal ausführen und die Python-Version wird erwähnt Versuchen Sie in der ersten Zeile des Interpreters dasselbe mit allen anderen im Ordner verfügbaren Python-Versionen, um diejenige zu finden, die der Version 2.7.10 entspricht).

Verwenden Sie nun die folgenden Befehle richtige Python-Version (python2.7 in meinem Fall) als Standard-Auswahl

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