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

And*_*rew 5 amazon-ec2 cassandra

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

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

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

Ale*_*scu 8

根据文件:

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. listen_addressbroadcast_address是用于多区域EC2配置2个重要的选项
  3. 通常,在配置以下任何答案2问题时:

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