Cassandra NoHostAvailableException;如何设置本机协议Cassandra集群?

时间:2015-07-10 23:44:42

标签: cassandra datastax

我知道这个问题已经在互联网上被问到很多,包括stackoverflow,但到目前为止,没有一个解决方案对我有用。我认为.yaml文件可能是一个奇怪的错误

1)我知道它不是防火墙问题,因为我已经测试了两个节点之间的连接

2)我增加了超时

3)我已将rpc地址设置为0.0.0.0和公共IP

4)我已将广播地址设置为公共IP

夫妻违规行为

1)我注意到我的第一个集群(有效)这是cqlsh的输出:

在127.0.0.1连接到cas1: 9042 。 [cqlsh 5.0.1 | Cassandra 2.1.3 | CQL规范3.2.0 | 原生协议v3]

现在,在我的新群集上,它是:

连接到localhost上的测试群集: 9160 。 [cqlsh 4.1.1 | Cassandra 2.0.16 | CQL规范3.1.1 | Thrift协议19.39.0

这是正常的吗?我的设置过程并没有什么不同。

2)当我在cas1集群中输入监听地址时,ip地址为白色。当我在测试群集中输入监听地址时,ip地址变为红色,其中一个为“。”。白色。我不是这方面的专家,但我知道这不正常。我试过c / p但没有帮助

3)我还注意到测试集群没有设置cas1集群的“broadcast_rpc_address”设置,我c / p结束了(obv更改了地址)但是这个设置不起作用

所以我的两个cassandra集群中的两个设置完全相同:

听地址:private.ip

start_native_transport:true

native_transport_port:9042

start_rpc:真

rpc_address:public.ip //也尝试了0.0.0.0

rpc_port:9160

broadcast_rpc_address:private ip //也试过公开

4)在此期间,我将尝试重新安装cassandra,到目前为止我还没有看到如何配置其本机或节约协议的细节,如果有的话请告诉我我可以指定一种方式。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

所有现代版本都讲老虎机(9160)和原生(9042)。

Native用于2.1+中的cqlsh,其中2.0中的cqlsh更喜欢thrift。

你有某种混合版本 - 可能是因为你没有关注版本就做了apt / yum安装。值得注意的是,0.0.0.0 IP通常是一种不一定有效的快捷方式 - 在那里获得正确的IP,并确保它绑定到正确的IP。