我认为我错误配置了listen_address,rpc_address和种子地址以用于我目前的设置。 场景是这样的:我在AWS vpc中有3个节点cassandra集群,每个节点有两个ips - 公共,一个私有。
让我们说三个节点有以下公共私有ips nodeA:(pubA,pvtA) nodeB:(pubB,pvtB) nodeC:(pubC,pvtC)
在cassandra.yaml中,我给了:
broadcast_address:已评论
endpoint_snitch:Ec2Snitch
身份验证:PasswordAuthenticator
现在,我的客户端是heroku上的应用程序,试图连接到(pubA,pubB,pubC)。连接只到第一个种子pubA,我看到连接到并使用pvtB,pvtC地址查找其他节点的错误。查询/ IO按预期进行,但我认为所有流量只在pubA上命中一个节点。
我尝试使用所有pvt地址,因为这些接口上的内部网络流量是安全的,不需要付费。有没有办法让客户端使用他们的公共地址连接到其他节点?