【问题标题】:Problems with two-node cassandra cluster setup on Amazon EC2Amazon EC2 上的两节点 cassandra 集群设置问题
【发布时间】:2012-12-12 14:37:14
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 您是否打开了两台机器之间的防火墙以进行 Cassandra 通信?
  • 是的,我已经打开了防火墙。它们属于同一个安全组。
  • 两个 yaml 文件中的集群名称是否相同?
  • 是的,集群名称也一样。默认的“测试集群”。
  • 将两个实例放在同一个安全组下是不够的 - AWS 策略是拒绝组成员内部通信,除非隐式指定。确保此 SG 允许来自该 SG 的到 Casandra 端口的传入连接。

标签: amazon-web-services amazon-ec2 cassandra


【解决方案1】:

我曾多次在 EC2 上创建 cassandra 集群。根据您的配置设置,我建议将 listen_address 和 rpc_address 更改为特定机器的私有 ip。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 2020-12-05
    • 2020-07-03
    • 2019-07-16
    相关资源
    最近更新 更多