Cassandra无法启动

3

我在AWS上使用一个由3个节点组成的Cassandra集群遇到了问题。

其中有一个种子节点和两个数据节点。当启动它们或手动尝试启动时,这些节点会崩溃。

错误信息出现在所有三个节点上。

Cassandra的版本为2.0.9。

我尝试了以下设置:

- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  parameters:
      - seeds: "<seed.node.public.IP>"

rpc_address: <node.public.IP>

rpc_port: 9160

listen_address: (or with the node's public IP)

storage_port: 7000

endpoint_snitch: SimpleSnitch (and RackInferringSnitch as well).

错误信息为:
 ERROR [main] 2014-09-29 08:59:45,241 CassandraDaemon.java (line 513) Exception  encountered during startup
 java.lang.RuntimeException: Unable to gossip with any seeds
  at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1200)
  at org.apache.cassandra.service.StorageService.checkForEndpointCollision   (StorageService.java:446)
  at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:657)
  at org.apache.cassandra.service.StorageService.initServer(StorageService.java:611)
  at org.apache.cassandra.service.StorageService.initServer(StorageService.java:504)
  at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:378)
  at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:496)
  at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:585)

群集的安全组中开放了端口7000、7001、7199、8080、9042、9160、61620和61621。

我还阅读并尝试了以下链接中提供的解决方案:

Cassandra无法启动

作为服务启动Cassandra对于2.0.5不起作用,sudo cassandra -f却可以

Apache Cassandra:无法与任何种子节点交换信息

Datastax Enterprise崩溃并显示Unable to gossip with any seeds错误

https://github.com/Netflix/Priam/issues/313


你能否从其他节点中ping通你的种子节点? - phact
不行,我无法从一个节点 ping 到另一个节点。 - Angelos Kapsimanis
ICMP在AWS安全组中被阻止,启用后节点可以通过公共和私有IP互相ping通。 - Angelos Kapsimanis
在集群中打开所有端口后,问题仍然存在。 - Angelos Kapsimanis
1个回答

4

Cassandra无法绑定到EC2中的公共IP地址。

可以将其替换为公共DNS私有IP地址listen_addressrpc_addressseeds中。

公共DNS解析为私有IP地址,即Cassandra绑定的EC2实例上的eth0接口。

可行的配置如下:

- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  parameters:
     - seeds: "<seed.node.public.DNS>"

  rpc_address: <node.public.DNS>

  rpc_port: 9160

  listen_address: (or with the node's public DNS)

  storage_port: 7000

  endpoint_snitch: SimpleSnitch (and RackInferringSnitch as well).

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接