【问题标题】:Apache Cassandra 3.7 CQLSH 'Unable to connect to any servers'Apache Cassandra 3.7 CQLSH '无法连接到任何服务器'
【发布时间】:2016-12-17 10:18:46
【问题描述】:

Apache cassandra 3.7 版在 Ubuntu 服务器 16.04 上运行良好,apache cassandra 的所有部分启动都没有问题,问题是,我去使用 cqlsh 连接: $ CQLSH(我的IP地址)9160 然后它说: 连接错误:('无法连接到任何服务器', {'10.0.0.13': TypeError('ref() 不接受关键字参数',)} ) 我看到它有一个错误: https://issues.apache.org/jira/browse/CASSANDRA-11850 但它的版本 cqlsh --version: cqlsh 5.0.1 cassandra -v: 3.5(也出现在 3.0.6 中)

有人评论了我的 Apache Cassandra 票证: https://issues.apache.org/jira/browse/CASSANDRA-12402 说明: 使用票证中描述的解决方法: 如果您安装了最新的 cassandra-driver,则可以通过将环境变量 CQLSH_NO_BUNDLED 设置为任何非空字符串来禁用嵌入式驱动程序,例如 export CQLSH_NO_BUNDLED=true。

问题是:

如何禁用最新的 cassandra 驱动程序?它在什么目录中?什么文件名?另外,如果我禁用它,我可以使用 CQLSH 进行连接吗?你们用什么工具连接到 apache cassandra 来运行命令等。除了 CQLSH 直接在服务器上?

【问题讨论】:

    标签: cassandra cqlsh


    【解决方案1】:

    如票据中所述 - 定义环境变量 CQLSH_NO_BUNDLED 并将其导出。

    export CQLSH_NO_BUNDLED=true
    

    它会告诉 cqlsh(这是 Python 程序)使用外部 Cassandra Python 驱动程序,而不是与分发捆绑的驱动程序。捆绑的 Cassandra 驱动程序位于 /opt/datastax-ddc-3.7.0/bin,文件名为 cassandra-driver-internal-only-3.0.0-6af642d.zip

    然后运行cqlsh,它位于/opt/datastax-ddc-3.7.0/bin

    ./cqlsh
    

    您可能需要使用以下方式安装 Cassandra Python 驱动程序(如果尚未安装):

    pip install cassandra-driver 
    

    注意 - 文件夹名称用于 Datastax Cassandra 构建。

    【讨论】:

    • 谢谢,虽然必须使用“sudo pip install cassandra-driver”。把它放在那里是因为它在收到权限错误消息之前就超时了。
    • 安装最新的 cassandra 驱动程序后,我仍然遇到另一个错误: Traceback(最近一次调用最后一次):文件“/cassandra/bin/cqlsh”,第 109 行,在来自 cassandra.cluster 的 import Cluster, PagedResult ImportError: cannot import name PagedResult 有什么想法吗?
    • @Patrick 此消息与 cassandra-driver 版本有关。试试看:pip install cassandra-driver==2.7.2
    【解决方案2】:

    这可能是由于python版本。 这是标记为已解决的票证。 cqlsh connection error: 'ref() does not take keyword arguments'

    我试着站在我这边。将python恢复到2.7.10后,运行良好。

    【讨论】:

      猜你喜欢
      • 2016-01-05
      • 2023-04-06
      • 2017-02-16
      • 2015-01-16
      • 2016-05-20
      • 2022-06-10
      • 2016-03-02
      • 2016-02-14
      • 2016-04-11
      相关资源
      最近更新 更多