我刚开始使用Cassandra(datastax),版本2.1.3和cqlsh版本5.0.1。
Cassandra可以正常启动,并且集群可以立即运行。
但是cqlsh无法工作(在任何节点上),并且会产生以下错误:
连接错误:(“无法连接到任何服务器”,{'127.0.0.1':error(111, “尝试连接[('127.0.0.1',9042)]。上一个错误:拒绝连接”)})
我已经尝试使用主机自己的IP、其他主机的IP、不同端口启动cqlsh,但结果始终相同-始终是连接被拒绝。
当我安装Cassandra 3.11.1时,遇到了这个问题。我检查了 /var/log/cassandra/cassandra.log 并发现了这个错误:启动期间遇到异常... 这是一个已经报告的 bug。原始帖子链接 https://issues.apache.org/jira/browse/CASSANDRA-14173。
解决方案是将 Cassandra 降级到 3.0
curl -O https://www.apache.org/dist/cassandra/redhat/30x/cassandra-3.0.15-1.noarch.rpm
或者
wget https://www.apache.org/dist/cassandra/redhat/30x/cassandra-3.0.15-1.noarch.rpm
cassandra (pid 2322)正在运行...
cqlsh 1.1.2.2 9160
可以正常工作。 - Chroslisten_address
、rpc_address
和broadcast_rpc_address
之间设置了某种不正确的选项...后者是2.1.x中的新设置。 我想知道listen_address
和rpc_address
设置是什么(不一定要知道值,但要知道它们与使用cqlsh的1.1.2.2 IP的关系)。 如果您再次尝试2.1.x,请将listen_address
设置为本地IP,将rpc_address
设置为0.0.0.0,并将broadcast_rpc_address
设置为外部IP。 - Aaron1.1.2.2
是主机 IP(主机只有内部 IP),其值为:listen_address: 1.1.2.2
rpc_address: 0.0.0.0
broadcast_rpc_address: 1.1.2.2
。广播地址是必需的(Cassandra 日志)。尝试了大多数组合,但都没有成功。最终不得不在 2.0.13 中删除/注释掉它,因此很可能是broadcast_rpc_address
导致了问题。不确定我还能给它哪些其他值。难道它不会在其他地方抛出错误吗? - Chros