EC2 实例中多区域设置的正确配置是什么?
listen_address、broadcast_address、rpc_address 和种子 ip/addresses 应该如何工作?
什么时候使用公共 IP 地址,什么时候使用私有 IP 地址?
EC2 实例中多区域设置的正确配置是什么?
listen_address、broadcast_address、rpc_address 和种子 ip/addresses 应该如何工作?
什么时候使用公共 IP 地址,什么时候使用私有 IP 地址?
根据文档:
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)。在多个数据中心集群中,-种子列表应包括每个数据中心(复制组)中的至少一个节点
试图总结:
rpc_address
客户端连接,与多区域EC2无关listen_address
和broadcast_address
是多区域 EC2 配置的 2 个重要选项一般来说,在配置这些回答 2 个问题时: