cqlsh connection error: 'ref() does not take keyword arguments'

Question:

I’ve tried all the measures from this post and Cassandra doc.

I’ve tried running all the versions of Cassandra including the latest release 3.7 from tarball and Debian package, but I keep getting errors when I execute cqlsh.

Error:

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

I had no problem running Cassandra before I upgraded my Linux Mint from 17.3 to 18.

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

I think the problem exists in cassandra.yaml file since the default setting isn’t working, but I’m not sure how to configure properly to get it running.

Any suggestions appreciated.

Asked By: tet

||

Answers:

You are running into CASSANDRA-11850, where cqlsh breaks with Python 2.7.11+. This ticket has been marked as “Resolved” and a patch has been applied to Cassandra 3.9 which has not been released yet.

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

In the interim (until 3.9 is released) you can roll back to Python 2.7.10, and cqlsh should work (not trivial). Otherwise, DataStax DevCenter should work with Cassandra 3.7.

Edit 20161020

Cassandra 3.9 was released a few weeks ago, and can now be downloaded.

Answered By: Aaron

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

After setting environment variable

CQLSH_NO_BUNDLED=TRUE

it resolved.

I use windows 7, python 2.7.12, cassandra 3.7

Answered By: Jai

This works for Ubuntu 16.04 in Amazon EC2:

sudo apt-get --no-install-recommends install python-cassandra python3-cassandra
CQLSH_NO_BUNDLED=TRUE cqlsh "$(ec2metadata --local-ipv4)"
Answered By: Alexey Vazhnov

Even if after rolling back to python 2.7.10, the issue persists. It means the python 2.7.10 is not set as the default python version.

Go to /usr/bin directory and check the different python versions available, say python2.7 corresponds to version 2.7.10 ( you can check it by running command python2.7 in your terminal and the python version will be mentioned in the first line of the Interpreter,try the same with all other python versions available in the folder to find the one which corresponds to version 2.7.10).

Now, use the following commands to make correct python version (python2.7 in my case) as default choice

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

Answered By: prjha14

Need to add following command

sudo apt install python-pip
pip install cassandra-driver
export CQLSH_NO_BUNDLED=true
Answered By: Mauran

It may be possible as you have not installed cassandra-driver.

As I also faced the same problem and I solved using following such steps.

Try installing python pip then install cassandra-driver.

1.sudo apt install python-pip
2.pip install cassandra-driver

Answered By: SIDDHANT SRIVASTAVA
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.