我已经尝试了this post和Cassandra doc的所有措施。
我尝试运行所有版本的Cassandra,包括来自tarball和Debian软件包的最新版本3.7,但是当我执行cqlsh
时我一直遇到错误。
错误:
连接错误:('无法连接到任何服务器',{'127.0.0.1':TypeError('ref()不接受关键字参数',)})
在将Linux Mint从17.3升级到18之前,我没有遇到运行Cassandra的问题。
我相信我安装了所有必要的软件包,例如java 8和python 2.7.12。
我认为cassandra.yaml文件中存在问题,因为默认设置不起作用,但我不确定如何正确配置以使其运行。
任何建议表示赞赏。
答案 0 :(得分:22)
你正在遇到CASSANDRA-11850,其中cqlsh打破了Python 2.7.11+。此票证已标记为"已解决"并且补丁已经应用于尚未发布的Cassandra 3.9。
我相信我安装了所有必要的软件包,例如java 8和python 2.7.12。
在过渡期间(直到3.9发布)你可以回滚到Python 2.7.10,而cqlsh应该可以工作(不是很简单)。否则,DataStax DevCenter应与Cassandra 3.7一起使用。
编辑20161020
Cassandra 3.9几周前发布,现在可以downloaded。
答案 1 :(得分:20)
参考https://issues.apache.org/jira/browse/CASSANDRA-11850
设置环境变量
之后CQLSH_NO_BUNDLED=TRUE
它解决了。
我使用的是Windows 7,python 2.7.12,cassandra 3.7
答案 2 :(得分:5)
需要添加以下命令
sudo apt install python-pip
pip install cassandra-driver
export CQLSH_NO_BUNDLED=true
答案 3 :(得分:3)
适用于Amazon EC2中的Ubuntu 16.04:
sudo apt-get --no-install-recommends install python-cassandra python3-cassandra
CQLSH_NO_BUNDLED=TRUE cqlsh "$(ec2metadata --local-ipv4)"
答案 4 :(得分:0)
即使回滚到python 2.7.10之后,问题仍然存在。这意味着python 2.7.10未设置为默认的python版本。
转到/ usr / bin目录并检查可用的不同python版本,比如python2.7对应于2.7.10版本(您可以通过在终端中运行命令python2.7来检查它,并且将在下面提到python版本)解释器的第一行,尝试与文件夹中可用的所有其他python版本相同,以找到对应于2.7.10版本的版本。
现在,使用以下命令将正确的python版本(在我的情况下为python2.7)作为默认选项
update-alternatives --install / usr / bin / python python /usr/bin/python2.7
答案 5 :(得分:0)
可能是因为您尚未安装cassandra驱动程序。
因为我也遇到了同样的问题,所以我按照以下步骤解决了问题。
尝试安装python pip,然后安装cassandra-driver。
1.sudo apt安装python-pip 2.pip安装cassandra-driver