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

43

在命令行执行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服务器时,我需要在PowerShell上运行"Set-ExecutionPolicy Unrestricted",否则它无法工作。

4个回答

93

您可以使用标志

--cqlversion="#.#.#"

来强制 cqlsh 使用特定的 CQL 版本。

cqlsh 的示例用法(以及键/值):

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

5

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


这应该是接受的答案,因为它不强制您向cqlsh传递额外的参数。 - AllenMoh

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

提示当前运行的C*版本与用于运行CQLSH的Python驱动程序之间存在版本不匹配。请确保它们都来自同一版本。


我怎样才能找出我正在运行的C*版本? - cdn
我正在运行版本 2.1.9。 - cdn
你之前说你正在运行2.2.1版本。我猜测你正在使用来自2.2.1版本的cqlsh与2.1.9版本进行交互。 - RussS
无解决方案来源于答案的程序相关内容 - khush

0
当我执行bin/cqlsh时,我遇到了类似的问题。我看到了下面的错误:
Connection error: ('Unable to connect to any servers', {'cassandra-1.alpha.mimosacloud.co': ProtocolError("cql_version '3.2.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.2.1']",)})

我的远程服务器使用的是cassandra 2.1.12,我试图使用apache-cassandra-2.1.7捆绑的cqlsh连接它。当我从this link下载了apache-cassandra-2.1.12并使用其中捆绑的cqlsh时,我的问题得到了解决。

我的服务器详细信息如下: [cqlsh 5.0.1 | Cassandra 2.1.12 | CQL spec 3.2.1 | Native protocol v3]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接