【发布时间】:2018-11-24 08:46:19
【问题描述】:
这是一种部署方案,其中 NAT 存在于 DC 边界之间,以下是要求:
Cassandra 版本:2.1.13
- 有 2 个 DC,跨 DC 的两个 Cassandra 节点(dc1:node1 和 dc2:node3)应使用公共 IP 跨 NAT 边界进行通信。
- NAT 后面的一个 DC 有 2 个 Cassandra 节点(dc1:node1 和 dc1:node2),它们都应该使用私有 IP 在 NAT 内通信。
- 所有这 3 个节点(dc1:node1、dc1:node2 和 dc2:node3)应形成一个环并相互通信。
查看了种子、listen_address、broadcast_address 和 broadcast_rpc_address。 https://docs.datastax.com/en/cassandra/2.1/cassandra/configuration/configCassandra_yaml_r.html
如果广播地址和种子中使用了公共 IP,则跨 DC 和 NAT 通信可以工作,但是 NAT 内的节点无法相互检测。
如果在 broadcast_address 和种子中使用了私有 IP,则在 DC 和 NAT 内通信正常,但是跨 DC 和 NAT 的节点无法相互检测。
调查了 Ec2MultiRegionSnitch,但这不适用于本地部署:https://docs.datastax.com/en/cassandra/2.1/cassandra/architecture/architectureSnitchEC2MultiRegion_c.html#architectureSnitchEC2MultiRegion_c__other-settings
需要哪些配置设置才能达到上述 3 个要求?
【问题讨论】:
标签: amazon-ec2 cassandra datastax-enterprise