【发布时间】: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