Cassandra节点不会启动

Cassandra节点不会启动,cassandra,Cassandra,我有一个cassandra集群,我尝试从中添加和删除节点,以评估调整大小时的吞吐量增益。问题是,在运行“添加”和“删除节点”命令后(我也尝试了使用nodetool进行清理),现在无法添加2个节点,因为我遇到了以下异常: java.lang.IllegalStateException: unable to find sufficient sources for streaming range 卡桑德拉·本被吊死了。。我不完全确定卡桑德拉是如何工作的,所以有人能提供任何细节吗 多谢各位 编辑: 对

我有一个cassandra集群,我尝试从中添加和删除节点,以评估调整大小时的吞吐量增益。问题是,在运行“添加”和“删除节点”命令后(我也尝试了使用nodetool进行清理),现在无法添加2个节点,因为我遇到了以下异常:

java.lang.IllegalStateException: unable to find sufficient sources for streaming range
卡桑德拉·本被吊死了。。我不完全确定卡桑德拉是如何工作的,所以有人能提供任何细节吗

多谢各位

编辑:


对于我的群集,复制因子为1,总共有10个节点(1个种子节点、7个工作节点和2个挂起节点-目前)

如果插入数据,然后继续删除节点,则如果复制因子(RF)太低,则将永久删除群集中的数据。为什么?因为cassandra没有将数据复制到任何节点上(由于射频较低),而被移除的节点唯一地存储了所述数据

更直观地了解问题:

RF = 1
Each node stores 25% of the data
Total dataset = [node1, node2, node3, node4]
当我们移除节点2时,我们现在拥有总数据的75%,因为低射频+移除节点=数据丢失。这是一种在没有完整数据集之前计算可以释放多少节点的简单方法


您必须删除所有数据,或者重新引入包含数据的节点。我的建议是增加复制系数。

如果插入数据,然后继续删除节点,则如果复制系数(RF)过低,则将永久删除集群中的数据。为什么?因为cassandra没有将数据复制到任何节点上(由于射频较低),而被移除的节点唯一地存储了所述数据

更直观地了解问题:

RF = 1
Each node stores 25% of the data
Total dataset = [node1, node2, node3, node4]
当我们移除节点2时,我们现在拥有总数据的75%,因为低射频+移除节点=数据丢失。这是一种在没有完整数据集之前计算可以释放多少节点的简单方法


您必须删除所有数据,或者重新引入包含数据的节点。我的建议是增加复制系数。

我实际上尝试重新引入数据,但仍然遇到例外情况。。有什么想法吗?无论如何,非常感谢。@giannis你是怎么介绍它的?再次插入数据无效,因为为其指定的范围将与原始数据不同。您必须恢复相同的物理节点,因为它们存储数据,而cassandra会按指定的范围跟踪数据。听起来您的令牌环中仍然存在死/删除的节点。移除它们(您可能需要“强制”选项),然后您将能够返回测试。或者,将仪表盘吹走并重新开始。:)实际上,我尝试重新引入数据,但我仍然得到了例外。。有什么想法吗?无论如何,非常感谢。@giannis你是怎么介绍它的?再次插入数据无效,因为为其指定的范围将与原始数据不同。您必须恢复相同的物理节点,因为它们存储数据,而cassandra会按指定的范围跟踪数据。听起来您的令牌环中仍然存在死/删除的节点。移除它们(您可能需要“强制”选项),然后您将能够返回测试。或者,将仪表盘吹走并重新开始。:)