2014-10-02 85 views
2

我们的群集不平衡,大部分数据都在一个节点中。现在,由于空间不足,现在大部分数据的节点已经死亡。如何在节点关闭的情况下平衡cassandra群集

如何使节点仅带准备就绪模式并重新平衡群集?

我们使用的虚拟节点和DSE 4.0.3

+0

你在死亡节点上看到了什么错误?失去空间会导致死亡? – 2014-10-03 15:50:06

+0

你的复制因子和簇大小是多少?你知道为什么集群首先失去平衡吗? – 2014-10-03 15:50:39

回答

0

没有为卡桑德拉没有明确的只读模式。因此,您可能需要临时向节点添加一些磁盘空间以使其联机,然后重新平衡群集。

如果这不是一个选项,那么删除快照有时可以为您提供足够的空间。如果以前未运行,则运行nodetool清理也可以提供帮助。

如果您使用的是vnodes,那么常见问题是您是否将旧式令牌节点转换为vnodes。该节点将只抓取一个偶数范围的映射到其原始范围的令牌。如果群集中的其他节点具有随机生成的令牌,则会导致它们之间巨大的不平衡。停用节点然后重新添加它应该可以解决问题。

nodetool环的输出会告诉我们是否发生了这种情况。实际上,机会是一个分解,重新添加将是任何情况下的解决方案。

+0

nodetool排出将停止接受写入并冲洗所有列族。节点仍然保持。 – phact 2014-11-05 19:54:30

0

使用nodetool drain停止在某个节点上接收写入。

相关问题