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

别说谁变了你拦得住时间么 提交于 2019-11-26 04:54:38

问题


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.


回答1:


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.




回答2:


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




回答3:


Need to add following command

sudo apt install python-pip
pip install cassandra-driver
export CQLSH_NO_BUNDLED=true



回答4:


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)"



回答5:


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




回答6:


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



来源:https://stackoverflow.com/questions/38616858/cqlsh-connection-error-ref-does-not-take-keyword-arguments

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!