【问题标题】:cqlsh connection error: 'ref() does not take keyword arguments'cqlsh 连接错误:'ref() 不接受关键字参数'
【发布时间】:2016-12-01 16:39:44
【问题描述】:

我已经尝试了this postCassandra doc 的所有措施。

我已经尝试运行所有版本的 Cassandra,包括来自 tarball 和 Debian 软件包的最新版本 3.7,但是当我执行 cqlsh 时,我不断收到错误。

错误:

连接错误:('无法连接到任何服务器', {'127.0.0.1': TypeError('ref() does not take keyword arguments',)})

在我将 Linux Mint 从 17.3 升级到 18 之前,我运行 Cassandra 没有问题。

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

我认为问题存在于 cassandra.yaml 文件中,因为默认设置不起作用,但我不确定如何正确配置以使其运行。

任何建议表示赞赏。

【问题讨论】:

    标签: python linux cassandra cqlsh


    【解决方案1】:

    您遇到了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

    【讨论】:

    • 我回滚到 Python 2.7.10,现在它可以工作了。谢谢。
    • 真的很有帮助。降级 2.7.10 并开始工作
    【解决方案2】:

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

    设置环境变量后

    CQLSH_NO_BUNDLED=TRUE
    

    解决了。

    我使用 Windows 7、python 2.7.12、cassandra 3.7

    【讨论】:

    • 我在运行连接命令之前使用了export CQLSH_NO_BUNDLED=TRUE,因为我无权设置环境变量...谢谢..
    • 这在 Mac 上对我不起作用。但是PATH=/usr/local/Cellar/python/2.7.11/bin/:$PATH cqlsh 有帮助
    • export CQLSH_NO_BUNDLED=TRUE 在 Ubuntu18.04 和 java8 和 python2.7.17 中为我工作。
    【解决方案3】:

    需要添加以下命令

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

    【讨论】:

    • 工作于 2.1.0
    【解决方案4】:

    这适用于 Amazon EC2 中的 Ubuntu 16.04:

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

    【讨论】:

      【解决方案5】:

      即使回滚到 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

      【讨论】:

        【解决方案6】:

        可能是因为你没有安装cassandra-driver。

        因为我也遇到了同样的问题,所以我按照这些步骤解决了。

        尝试安装 python pip 然后安装 cassandra-driver。

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

        【讨论】:

          猜你喜欢
          • 2017-02-03
          • 2018-07-24
          • 2015-08-18
          • 1970-01-01
          • 1970-01-01
          • 2016-09-01
          相关资源
          最近更新 更多