向cassandra群集添加了新节点,数据丢失

向cassandra群集添加了新节点,数据丢失,cassandra,Cassandra,我已经在现有的4节点集群中添加了新的4节点。现在群集上缺少一些数据。 原因可能是什么?我能做些什么来解决它 添加到集群时,数据缺少keyspace RF为1。这可能是个问题 注意:一旦我将新节点添加到集群中,就会对所有节点执行修复命令您真的不应该运行1的RF 我可以想象,如果您在短时间内以低射频将它们全部添加,那么VNode将从一个节点移动到另一个节点,而不会稳定下来。我很惊讶一次全面的维修什么也没做 您可以检查原始节点的HDD,查看修复是否没有删除旧数据。如果它仍然存在,您可以删除新节点(临时

我已经在现有的4节点集群中添加了新的4节点。现在群集上缺少一些数据。 原因可能是什么?我能做些什么来解决它

添加到集群时,数据缺少keyspace RF为1。这可能是个问题


注意:一旦我将新节点添加到集群中,就会对所有节点执行修复命令

您真的不应该运行1的RF

我可以想象,如果您在短时间内以低射频将它们全部添加,那么VNode将从一个节点移动到另一个节点,而不会稳定下来。我很惊讶一次全面的维修什么也没做

您可以检查原始节点的HDD,查看修复是否没有删除旧数据。如果它仍然存在,您可以删除新节点(临时),然后在修复时逐个将每个节点添加回


编辑:另外可能使用奇数个节点。

Highstead在这里,我在一天内为集群1节点添加了新节点。同时,删除意味着数据将从整个集群中消失(注意:仍然是旧节点和新节点在同一集群中),所以这可能是个坏主意。默认情况下,cassandra集群的数据存储在/var/lib/cassandra中。如果旧文件早于将节点添加到集群时,则可以一次删除一个新节点。然后,当数据结算后,删除下一个。由于cassandra中一致散列的工作方式,在进程结束时,拥有“丢失”数据的节点将是相同的节点。显然,首先快照所有节点。如果这是一个生产系统,这可能不是一个选项。此外,请检查节点上的快照。