首页 文章

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

提问于
浏览
0

我知道这个问题已经在互联网上被问到很多,包括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 | **Native protocol v3]**

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

连接到localhost上的测试群集: 9160 . [cqlsh 4.1.1 | Cassandra 2.0.16 | CQL规范3.1.1 | Thrift protocol 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

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

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

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

相关问题