1

我正在尝试在同一区域和安全组中的两台 EC2 机器上设置一个双节点 Cassandra 集群。每台机器运行一个 cassandra 实例。我已经更改了 cassandra.yaml 文件以将这两个文件添加到同一个集群中。但我不能这样做。这些是我制作的 cassandra.yaml 文件中更改的配置选项。这两台机器都属于 us-east DC。(我也可以互相ping通,仅供参考)。我正在使用 Apache Cassandra 1.1.6 版。

EC2 Machine1: listen_address - 这台机器的私有 ip。rpc_address - 0.0.0.0 种子 - EC2 machine1的私有 ip 。endpoint_snitch - Ec2Snitch(我也尝试过 SimpleSnitch 和 Ec2MultiRegionSnitch) initial_token - 由令牌生成器工具为两个节点生成的第一个令牌。我为这个 cassandra 实例做了一个 nodetool 移动到这个令牌。

EC2 Machine2: listen_address - 这台机器的私有 ip rpc_address - 0.0.0.0 种子 - EC2 machine1的私有 ip endpoint_snitch - Ec2Snitch(我也尝试过 SimpleSnitch 和 Ec2MultiRegionSnitch) initial_token - 由令牌生成器工具为两个节点生成的第二个令牌。我为这个 cassandra 实例做了一个 nodetool 移动到这个令牌。

这些设置应在重新启动实例时自动将两个 cassandra 实例添加到同一个环中。但是当我运行 nodetool -h localhost ring 命令时,两台机器都在自己的集群中运行,而不是在同一个集群中。

我在这里的配置中有什么遗漏吗?

4

1 回答 1

1

我已经很多次在 EC2 上创建了一个 cassandra 集群。从您的配置设置中,我建议将 listen_address 和 rpc_address 更改为特定机器的私有 ip。

于 2012-12-31T13:45:10.667 回答