设置一个 2 节点(ec2 ubuntu 实例)Cassandra 集群

Setting up a 2 node (ec2 ubuntu instances) Cassandra cluster

我是 Cassandra 的新手,我正在尝试在两个测试 ec2 ubuntu 实例上设置一个简单的 2 节点集群。但是复制不起作用,nodetool ring 不显示这两个实例。我做错了什么? 我正在使用 cassandra 版本 2.0.11。

这是我在两台机器上的配置:

listen_address: <private_ip>
rpc_address: <private_ip>
broadcast_address: <public_ip>
seeds: <private_ip_of_other_machine>
endpoint_snitch: Ec2Snitch

我已将 EC2 安全组配置为允许这些实例之间所有端口上的所有流量。我在这里做错了什么?如果需要,我可以提供 cassandra 日志。 谢谢你。

编辑:我目前遇到的错误是:

java.lang.RuntimeException: Unable to gossip with any seeds
    at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1340)
    at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:543)
    at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:766)
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:693)
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:585)
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:300)
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:516)
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:625)
ERROR 15:08:03 Exception encountered during startup
java.lang.RuntimeException: Unable to gossip with any seeds
        at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1340) ~[apache-cassandra-2.2.5.jar:2.2.5]
        at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:543) ~[apache-cassandra-2.2.5.jar:2.2.5]
        at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:766) ~[apache-cassandra-2.2.5.jar:2.2.5]
        at org.apache.cassandra.service.StorageService.initServer(StorageService.java:693) ~[apache-cassandra-2.2.5.jar:2.2.5]
        at org.apache.cassandra.service.StorageService.initServer(StorageService.java:585) ~[apache-cassandra-2.2.5.jar:2.2.5]
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:300) [apache-cassandra-2.2.5.jar:2.2.5]
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:516) [apache-cassandra-2.2.5.jar:2.2.5]
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:625) [apache-cassandra-2.2.5.jar:2.2.5]
WARN  15:08:03 No local state or state is in silent shutdown, not announcing shutdown

我看到的第一件事是您的 seeds: 列表是错误的。两个节点应该有相同的种子:列表。对于简单的 2 节点测试设置,您只需要 1 个种子(选择一个)。如果节点在同一个AZ,可以使用私有IP。