Cassandra:EC2多区域的正确配置是什么?

时间:2013-09-10 07:10:54

标签: amazon-ec2 cassandra

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

listen_address,broadcast_address,rpc_address和种子ip /地址应该起什么作用?

何时使用公共IP地址以及何时使用私有IP地址?

1 个答案:

答案 0 :(得分:8)

根据docs

broadcast_address :(默认值:listen_address)如果您的Cassandra群集部署在多个Amazon EC2区域并且您使用EC2MultiRegionSnitch,请将broadcast_address设置为节点的公共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. 无关
  3. listen_addressbroadcast_address是多区域EC2配置的两个重要选项
  4. 通常在配置以下任何答案2的问题时:

    1. 谁在连接? (另一个节点?客户端?)
    2. 可以访问哪些IP? (这个网络接口是否可供谁连接?)