2015-10-07 113 views
19

命令行卡桑德拉cqlsh「無法連接到任何服務器」

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']",)}) 

我與卡桑德拉版本2.2.1一起運行的Python版本2.7.10上執行cqlsh.bat時,我得到了以下信息。不知道它是否相關,但是當我啓動Cassandra服務器時,我需要在PowerShell上運行「Set-ExecutionPolicy Unrestricted」,否則它不起作用。

回答

46

可以強制cqlsh使用標誌

--cqlversion="#.#.#"

例cqlsh使用(和鍵/值),以使用特定的CQL版本:

cqlsh 12.34.56.78 1234 -u username -p password --cqlversion="3.2.0" 
cqlsh (IP ADDR) (PORT) (DB_USERN) (DB_PASS)    (VER) 
2
ProtocolError("cql_version '3.3.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.2.0']" 

指示您正在運行的C *版本與CQLSH運行的python驅動程序之間存在版本不匹配。確保它們全部脫離相同的版本。

+0

如何找出我正在運行的C *版本? – cdn

+0

'nodetool版本' – RussS

+0

我運行的是2.1.9版本 – cdn

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']",)}) 

我的遠程服務器使用卡桑德拉2.1.12和我試圖使用帶有Apache的卡桑德拉 - 2.1.7 bundeled的cqlsh連接到它。當我從this link下載apache-cassandra-2.1.12並使用捆綁的cqlsh時,我的問題得到了解決。

我的服務器的詳細信息是: [cqlsh 5.0.1 | Cassandra 2.1.12 | CQL規範3.2.1 |本地協議第3版]

0

編輯cqlsh.py文件(您可以使用which cqlsh找到它)並將 DEFAULT_CQLVER = 'z.z.z'的值更改爲支持的版本。