【发布时间】:2015-05-21 05:28:38
【问题描述】:
我刚刚开始使用 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,但结果仍然相同 - 总是连接被拒绝。
【问题讨论】:
-
考虑到我,并在此处提供的帮助下,无法解决 2.1.3(诚然仍在开发中)的问题,我用 2.0.13(稳定)重新配置了服务器。 Cqlsh 仍然给出 localhost:9160 错误(尽管将 rpc_address 指定为主机)但它通过在启动时手动指定 ip 来工作
cqlsh 1.1.2.2 9160 -
基于您降级到 2.0.13 并且可以正常工作的事实,我猜您在
listen_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。 -
在此设置的情况下,
1.1.2.2是主机 IP(主机只有一个内部 IP),其值为:listen_address: 1.1.2.2rpc_address: 0.0.0.0broadcast_rpc_address: 1.1.2.2。广播地址是必需的(cassandra 日志)。尝试了大多数组合,但没有一个证明是富有成效的。最终不得不为 2.0.13 删除/注释它,所以很可能是broadcast_rpc_address造成了问题。不确定我可以给它哪些其他价值。它不会在其他任何地方引发错误吗?