Cassandra cqlsh"无法连接到任何服务器"

时间:2015-10-07 21:05:35

标签: python cassandra

在命令行执行cqlsh.bat时,我收到以下消息

Connection error: ('Unable to connect to any servers', {'127.0.0.1': ProtocolError("cql_version '3.3.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.2.0']",)})

我正在运行Python 2.7.10版和Cassandra 2.2.1版。不确定它是否相关,但是当我启动Cassandra服务器时,我需要运行" Set-ExecutionPolicy Unrestricted"在PowerShell上,否则它无法正常工作。

4 个答案:

答案 0 :(得分:74)

您可以使用标志

强制cqlsh使用特定的cql版本
  

- cqlversion ="###"

示例cqlsh用法(和键/值):

cqlsh 12.34.56.78 1234 -u username -p password --cqlversion="3.2.0"
cqlsh (IP ADDR)  (PORT)  (DB_USERN)  (DB_PASS)               (VER)

答案 1 :(得分:2)

ProtocolError("cql_version '3.3.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.2.0']"

表示正在运行的C *版本与CQLSH运行的python驱动程序之间存在版本不匹配。确保它们都不在同一版本中。

答案 2 :(得分:0)

当我执行bin / cqlsh时,我遇到了类似的问题。我看到了以下错误:

$code = $session->data['language'];

我的远程服务器正在使用cassandra 2.1.12,我试图使用带有apache-cassandra-2.1.7的cqlsh bundeled连接到它。当我从http://www.cs.uregina.ca/Links/class-info/325/PythonPictures/下载apache-cassandra-2.1.12并使用与之捆绑的cqlsh时,我的问题得到了解决。

我的服务器的详细信息是: [cqlsh 5.0.1 | Cassandra 2.1.12 | CQL规范3.2.1 |原生协议v3]

答案 3 :(得分:0)

编辑cqlsh.py文件(您可以使用which cqlsh找到它)并更改其值  DEFAULT_CQLVER = 'z.z.z'支持的版本。