我在OSX上安装了Cassandra。 当尝试从/ bin /运行cqlsh时,我收到以下错误:
> Connection error: ('Unable to connect to any servers', {'127.0.0.1':
> ConnectionShutdown('Connection <AsyncoreConnection(4522252560)
> 127.0.0.1:9160 (closed)> is already closed',)})
我在安装Cassandra时遇到了困难,并且使用了brew install cassandra,从datastax安装了DSE,并从Apache下载了二进制文件。
答案 0 :(得分:28)
我认为问题是先前安装没有正确卸载的结果。我的用户.cassandra
目录有一些默认配置,必须是针对不同的版本,并阻止cqlsh启动。
rm -Rf ~/.cassandra
之后,我可以正确运行cqlsh。
$ bin/cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cqlsh>
答案 1 :(得分:9)
正在运行cassandra
帮助我解决问题:
> cassandra
Cassandra 3.0 and later require Java 8u40 or later.
和:
> java -version
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-3)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
安装Java 8后,它工作正常。
答案 2 :(得分:6)
Cassandra-2.1使用9042作为cqlsh port.Connect就是这个默认端口。如果你想连接9160端口然后通过设置环境变量CQLSH_PORT和CQLSH_HOST来改变它,但是为了设置它你必须从默认值9160更改rpc_port到任何其他港口。
答案 3 :(得分:4)
好吧,我遇到了同样的问题,这就是我在Mac上所做的。
$cd /usr/local/Cellar/cassandra/3.10_1/bin/
或者安装cassandra的地方。
$cassandra
这会初始化本地系统中的所有配置以启动cassandra。
$./cqlsh
这使您可以进入cql查询模式。
答案 4 :(得分:3)
当我尝试使用cqlsh 5.0.1连接到Cassandra 2.0.1版本时,我遇到了这个问题 [cqlsh 4.1.1 |卡桑德拉2.0.11.83 | CQL规范3.1.1 | ] [cqlsh 5.0.1 | Cassandra 2.1.2 | CQL规范3.2.0]
这只是导致错误的原因之一&#34;连接错误:(&#39;无法连接到任何服务器&#39;,&#34;。
当我使用与Cassandra 2.0.1兼容的cqlsh客户端时,我能够连接到群集。
希望这有助于找到根本原因。
答案 5 :(得分:2)
从Java 8
移到Java 11
后,我遇到了同样的错误。从https://github.com/nosan/embedded-cassandra/issues/21起,Apache Cassandra尚不支持Java 11。
将系统的当前Java版本恢复为Java 8解决了该问题。
答案 6 :(得分:1)
只需在cassandra.yaml中添加/修改以下内容:
rpc_address: 127.0.0.1
seeds: "127.0.0.1"
listen_address: 127.0.0.1
请注意,所有这些字段中的值必须相同。 这意味着,如果您指向静态IP,则应使用相同的IP。如果您只是指向localhost,则必须在所有字段中使用localhost。
答案 7 :(得分:0)
我陷入了混乱,所以如果有其他人遇到它,这就是我的情景:
我相信Java挂在默认端口9042(可能来自DataStax安装错误),〜/ .cassandra / cqlshrc中的版本/主机/端口设置和使用cassandra的开发版本这些都导致我适合。< / p>
答案 8 :(得分:0)
我无法从终端
连接Cassandra[
然后我尝试使用/ usr / local / Cellar /
进行连接[
然后调用cassandra。然后打开一个新的终端并输入Cassandra开始的cqlsh。
希望这也适用于解决Cassandra问题。
答案 9 :(得分:0)
我通过编辑以下文件在DSE-5.0中解决了这个问题:
vi ~/.cassandra/cqlshrc
下面的编辑配置我正在运行的机器的当前IP地址(192.168.1.6)。就我而言,这是我的MacBook。
[connection]
hostname = 192.168.1.6
port = 9042
; factory = cqlshlib.kerberos_ssl.kerberos_ssl_transport_factory
; [kerberos]
; hostname = 192.168.1.6
; service = cassandra
; optional
; principal = bill/cassandra-admin@foo.example.com
我希望它会帮助别人。
谢谢,
CHANDAN
答案 10 :(得分:0)
在环境变量中安装java jdk和Set JAVA_HOME,或在命令提示符下设置JAVA_HOME = java path。
之后
运行cassandra.bat
如果您收到任何错误,它会显示日志
答案 11 :(得分:0)
您需要从install_location的bin目录启动Cassandra。 例如,此命令将在前台启动Cassandra:
$ ./cassandra -f
然后打开另一个终端选项卡(命令+ t)并运行cqlsh
$ ./cqlsh
答案 12 :(得分:0)
确保脚本cqlsh.py中的DEFAULT_HOST ='127.0.0.1'指向完成cassandra安装的节点IP。 就我而言,我在10.160.1.5上安装了cassandra,并在上面的文件中进行了编辑,然后它开始工作。
答案 13 :(得分:0)
运行cqlsh
会为我带来此错误,但可以从cassandra目录运行bin/cqlsh
。
答案 14 :(得分:0)
我遇到了同样的问题。我运行了cassandra.bat->这似乎已经启动了服务器。然后,我打开一个新的命令提示符(以管理员身份运行),将目录更改为cassandra / bin位置。当我运行命令cqlsh时,瞧,它起作用了!
答案 15 :(得分:-2)
我遇到了与Cassandra配置SSL相同的问题。
CREATE TABLE student (
S_id INT NOT NULL AUTO_INCREMENT
,S_name VARCHAR(45) NOT NULL
,PRIMARY KEY (S_id)
,UNIQUE INDEX S_name_UNIQUE(S_name ASC)
) AUTO_INCREMENT=14012040;
求解连接正确。