【问题标题】:Cassandra is not startingCassandra 没有启动
【发布时间】:2014-11-23 15:27:05
【问题描述】:

我在使用 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 Not Starting Up

Starting cassandra as a service does not work for 2.0.5, sudo cassandra -f works

Apache Cassandra: Unable to gossip with any seeds

Datastax Enterprise is crashing with Unable to gossip with any seeds error

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

【问题讨论】:

  • 你能从其他人那里 ping 你的种子节点吗?
  • 不,我无法从一个节点 ping 到另一个节点。
  • ICMP 被 AWS 安全组阻止,启用它后,节点可以 ping 公共和私有 IP 中的其他节点。
  • 开启集群所有端口后,问题依旧。

标签: cassandra cassandra-2.0 datastax


【解决方案1】:

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).

【讨论】:

    猜你喜欢
    • 2011-01-23
    • 2016-09-21
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    • 2011-09-28
    相关资源
    最近更新 更多