【问题标题】:Decommission of one EC2 node in cluster causes other nodes to go DOWN/UP and results in "May not be enough replicas..."集群中一个 EC2 节点的停用会导致其他节点 DOWN/UP 并导致“可能没有足够的副本...”
【发布时间】:2013-11-03 14:35:50
【问题描述】:

我们有一个在 AWS 上运行的 6 节点 cassandra 1.2.10 集群,具有 NetworkTopologyStrategy、3 的复制因子和 EC2Snitch。每个 AWS 可用区中有 2 个节点。

当我们在停用节点时读取或写入具有 Quorum 一致性的数据到集群时,我们会得到“可能没有足够的副本来处理一致性级别”。

这没有任何意义,因为我们只关闭了一个节点,我们的 RF 为 3,因此即使我们使用仲裁读/写关闭一个节点,仍然应该有足够的节点包含数据 (2) .

查看我们未停用的服务器上的 cassandra 日志,我们在其他节点停用期间看到了这一点。

 INFO [GossipTasks:1] 2013-10-21 15:18:10,695 Gossiper.java (line 803) InetAddress /10.0.22.142 is now DOWN
 INFO [GossipTasks:1] 2013-10-21 15:18:10,696 Gossiper.java (line 803) InetAddress /10.0.32.159 is now DOWN
 INFO [HANDSHAKE-/10.0.22.142] 2013-10-21 15:18:10,862 OutboundTcpConnection.java (line 399) Handshaking version with /10.0.22.142
 INFO [GossipTasks:1] 2013-10-21 15:18:11,696 Gossiper.java (line 803) InetAddress /10.0.12.178 is now DOWN
 INFO [GossipTasks:1] 2013-10-21 15:18:11,697 Gossiper.java (line 803) InetAddress /10.0.22.106 is now DOWN
 INFO [GossipTasks:1] 2013-10-21 15:18:11,698 Gossiper.java (line 803) InetAddress /10.0.32.248 is now DOWN

最终我们会看到这样的消息。

 INFO [GossipStage:3] 2013-10-21 15:18:19,429 Gossiper.java (line 789) InetAddress /10.0.32.248 is now UP

对于每个节点。所以最终集群中的剩余节点都会恢复活力。

当这些节点关闭时,我可以看到为什么我们会收到“可能没有足够的副本...”消息。因为一切都失败了。

我的问题是,为什么我们一开始没有停用的这些节点的 gossip 会关闭?

【问题讨论】:

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


    【解决方案1】:

    Gossip 正在关闭,因为没有从对等方收到几条心跳消息。这通常是由于主机上的过度调度造成的。 CPU、网络或磁盘可能负担过重。

    在 DataStax,我们正在努力使 Gossip 状态机在这种情况和其他情况下更加强大。如果您是 DataStax 客户,请向技术支持部门提交工单,以便进行跟踪并以最快的速度解决问题。

    【讨论】:

      猜你喜欢
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      相关资源
      最近更新 更多