我们在美国AWS地区有3个Cassandra节点,在新加坡AWS地区有3个节点。如果我必须建立一个多数据中心,我们必须使用Ec2MultiRegionSnitch吗?或者我们可以使用GossipingPropertyFileSnitch吗?
我是否应该只对广播地址和监听地址使用私有IP地址?
正如我的系统管理员告诉我的那样,我们不需要这些公共IP,私有IP应该工作,因为两者都可以相互通信。但我对此表示怀疑。有人能帮我解释一下这件事吗?
发布于 2015-09-30 20:33:34
如果您打算为您的密钥空间使用Ec2MultiRegionSnitch (这会使Cassandra数据中心知道),那么没有理由不使用NetworkTopologyStrategy检举方法。否则,您必须手动配置拓扑,如下所示:
在EC2部署中,区域名称被视为数据中心名称,可用性区域被视为数据中心内的机架。例如,如果节点位于美国-东-1区域,美国-东部是数据中心名称,1是机架位置。
因此,使用它,卡桑德拉将自动从实例元数据获得信息。
至于公共IP,您确实需要它们,因为您无法建立跨区域的VPC之间的窥视,因此实例无法在这些VPC内部相互通信。
同样,Datastax文档说如何做到这一点:
在cassandra.yaml中,将listen_address设置为节点的私有IP地址,将broadcast_address设置为节点的公共IP地址。
https://stackoverflow.com/questions/32789711
复制相似问题