首页 文章

cqlsh连接错误:'ref() does not take keyword arguments'

提问于
浏览
23

我已经尝试了this postCassandra 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文件中存在问题,因为默认设置不起作用,但我不确定如何正确配置以使其运行 .

任何建议赞赏 .

5 回答

  • 22

    您正在运行CASSANDRA-11850,其中cqlsh与Python 2.7.11中断 . 此票证已标记为"Resolved",并且已对Cassandra 3.9应用了尚未发布的补丁 .

    我相信我安装了所有必要的软件包,例如java 8和python 2.7.12 .

    在过渡期间(直到3.9发布)你可以回滚到Python 2.7.10,而cqlsh应该可以工作(不是很简单) . 否则,DataStax DevCenter应该与Cassandra 3.7一起使用 .

    Edit 20161020

    Cassandra 3.9几周前发布,现在可以downloaded .

  • 5

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

    设置环境变量后

    CQLSH_NO_BUNDLED=TRUE
    

    它解决了 .

    我使用的是Windows 7,python 2.7.12,cassandra 3.7

  • 2

    需要添加以下命令

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

    这适用于Amazon EC2中的Ubuntu 16.04:

    sudo apt-get --no-install-recommends install python-cassandra python3-cassandra
    CQLSH_NO_BUNDLED=TRUE cqlsh "$(ec2metadata --local-ipv4)"
    
  • 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

相关问题