【问题标题】:Which version of cqlsh is compatible with Cassandra 2.1.9?哪个版本的 cqlsh 与 Cassandra 2.1.9 兼容?
【发布时间】:2015-11-30 05:27:01
【问题描述】:

我面临问题populate_io_cache_on_flush is not a column defined in this metadata 中提到的相同问题。

根据KIC 在此answer 的第二条评论中指定的解决方案,我需要

“使用与服务器相同的客户端库。即,在 ubuntu 更新服务器后(今天发生的情况),所有客户端程序也必须升级驱动程序。”

我正在使用 Cassandra 2.1.9。和 cqlsh 5.0.1 .

[cqlsh 5.0.1 | Cassandra 2.1.9 | CQL spec 3.2.0 | Native protocol v3]

我应该使用哪个版本的 cqlsh 来解决我的问题?

----

编辑(已解决):我通过使用客户端库版本 2.1.3 解决了这个问题。

我的 maven 依赖项现在看起来像:

<dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>2.1.3</version>
</dependency>

感谢您的帮助。

【问题讨论】:

  • 现在有完全相同的问题。据我了解,问题是“本机协议版本”,不一定是 cqlsh 版本。

标签: cassandra bigdata cqlsh nosql


【解决方案1】:

这是一个超级丑陋但快速的解决方法:

在你的文件系统中找到cqlsh.py文件,将DEFAULT_PROTOCOL_VERSION改为3:

...
DEFAULT_CQLVER = '3.3.0'
DEFAULT_PROTOCOL_VERSION = 3
DEFAULT_CONNECT_TIMEOUT_SECONDS = 5
...

在我的系统(通过homebrew 安装的 Mac OS X)上,此文件位于:

/usr/local/Cellar/cassandra/2.2.0/libexec/bin/cqlsh.py

比较奇怪的是你不能通过命令行覆盖这个变量..

您可能还必须像这样更改实际的 CQL 版本:

cqlsh 127.0.0.1 --cqlversion=3.2.0

临时修复一个超级烦人的问题..

【讨论】:

  • 在网上浪费了几个小时寻找解决方案后,这对我有用。谢谢
  • 我发现唯一有效的方法。谢谢!我当然希望这可以从命令行指定。
【解决方案2】:

这是一个错误。该问题已在上游修复:https://issues.apache.org/jira/browse/CASSANDRA-13307,但尚未发布。但是,您可以查看 cassandra repo 并自己构建它。或者只是使用 pip 安装依赖项并从 cassandra 结帐运行 cqlsh 脚本。

【讨论】:

    猜你喜欢
    • 2017-12-15
    • 2019-09-08
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 2016-08-13
    • 2016-01-06
    相关资源
    最近更新 更多