6

EC2 实例中多区域设置的正确配置是什么?

listen_address、broadcast_address、rpc_address 和种子 ip/addresses 应该如何工作?

什么时候使用公共 IP 地址,什么时候使用私有 IP 地址?

4

1 回答 1

9

根据文档

broadcast_address:(默认值listen_address:)如果您的 Cassandra 集群部署在多个 Amazon EC2 区域,并且您使用 EC2MultiRegionSnitch,请将广播地址设置为节点的公共 IP 地址,并将listen_address 设置为私有 IP。

listen_address:(默认值:localhost)其他 Cassandra 节点用于连接到此节点的 IP 地址或主机名。如果未设置,则主机名必须使用 /etc/hostname、/etc/hosts 或 DNS 解析为此节点的 IP 地址。不要指定 0.0.0.0。

rpc_address:(默认值:localhost)客户端连接的监听地址(Thrift 远程过程调用)。

seed_provider:(默认值:org.apache.cassandra.locator.SimpleSeedProvider)以逗号分隔的主机(IP 地址)列表,当节点加入集群时用作联系点。Cassandra 也使用这个列表来学习环的拓扑结构。运行多个节点时,您必须更改 - 种子列表的默认值 (127.0.0.1)。在多个数据中心集群中,-种子列表应包括每个数据中心(复制组)中的至少一个节点

试图总结:

  1. 用于rpc_address客户端连接,与多区域EC2无关
  2. listen_addressbroadcast_address是多区域 EC2 配置的 2 个重要选项
  3. 一般来说,在配置这些回答 2 个问题时:

    1. 谁在连接?(另一个节点?客户端?)
    2. 可以访问哪些 IP?(连接的人可以访问此网络接口吗?)
于 2013-09-10T22:39:55.893 回答