无法使用 EC2 公共 IP 地址启动 Cassandra

问题描述 投票:0回答:1

在 AWS EC2 上,我已将 cassandra.yaml 文件更新为:

listen_address: <private_ip>
broadcast_address: <public_ip>
listen_on_broadcast_address: true
rpc_address: <private_ip>
seeds: <public_ip>

将每个参数设置为 cassandra 服务正常启动,但使用上述配置我得到

failed to bind to <public_ip>
failed: cannot assign requested address

我什至尝试保持listen_address与种子相同;由于该节点是种子节点,但错误仍然存在。应该怎么做才能让 cassandra 也能与公共 IP 一起工作?

(目前是单节点,但是设置一下可以兼容多节点部署)

amazon-ec2 cassandra cqlsh
1个回答
0
投票

您发布的错误表明您配置了错误的公共IP地址,因此EC2实例无法与其绑定任何服务。

对于它的价值,您需要按如下方式配置 Cassandra:

listen_address: private_ip
rpc_address: public_ip

并为

- seeds:
列表使用公共 IP。

如果您要设置多区域部署,您还需要设置:

broadcast_address: public_ip

因此节点可以在公共 IP 上与远程节点(在另一个区域中)通信,同时在与同一区域中的节点通信时恢复到私有 IP。

如果您需要指导,请参阅有关使用 IPv4 地址的 AWS 文档来查找 EC2 实例的公共 IP。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.