Abh*_*mon 3 bigdata cassandra nosql cqlsh
我面临的问题是populate_io_cache_on_flush不是此元数据中定义的列.
根据KIC在关于这个答案的第2条评论中指定的解决方案,我需要
"使用与服务器相同的客户端库.即在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]
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个版本的cqlsh来解决我的问题?
编辑(已解决):我通过使用客户端库版本2.1.3解决了这个问题.
我的maven依赖现在看起来像:
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>2.1.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
use*_*984 11
这是一个超级丑陋但快速修复:
cqlsh.py
在文件系统中找到该文件,然后更改DEFAULT_PROTOCOL_VERSION
为3:
...
DEFAULT_CQLVER = '3.3.0'
DEFAULT_PROTOCOL_VERSION = 3
DEFAULT_CONNECT_TIMEOUT_SECONDS = 5
...
Run Code Online (Sandbox Code Playgroud)
在我的系统上(通过安装的Mac OS X homebrew
),该文件位于:
/usr/local/Cellar/cassandra/2.2.0/libexec/bin/cqlsh.py
Run Code Online (Sandbox Code Playgroud)
相当奇怪的是你不能通过命令行覆盖这个变量.
您可能还需要更改实际的CQL版本,如下所示:
cqlsh 127.0.0.1 --cqlversion=3.2.0
Run Code Online (Sandbox Code Playgroud)
临时修复一个超烦人的问题..
归档时间: |
|
查看次数: |
4603 次 |
最近记录: |