无法将节点添加到现有Cassandra群集
我们在EC2上有6个节点的cassandra群集,我们必须将其容量加倍为12个节点。 所以要添加6个更多的节点,我遵循以下步骤。无法将节点添加到现有Cassandra群集
1计算12个节点的标记并相应地配置新节点。
2通过适当的配置开始新的节点,使他们新的节点将平分 现有令牌范围。
- 在开始时所有的新节点都显示在 流的进展。
- 在响铃状态下,所有节点都处于“加入”状态
- 12小时后,2个节点完成流并进入正常状态。
- 但剩下的4个节点上的数据流一定量后,他们都没有显示任何进展,看起来他们在每个停留
我们已经安装了卡桑德拉-0.8.2,并有大约500 GB的数据现有节点并在EBS卷上存储数据。
如何解决此问题并获得12个节点的平衡群集?
我可以重新启动节点吗?
如果我清理卡住卡桑德拉节点的数据目录,并与全新安装重启后,会造成任何数据丢失?
如果复制因子2或更大,则不会有任何数据丢失。
Cassandra 0.8.2版有几个已知问题 - 请在所有原始节点以及新出现的节点上升级到0.8.8,然后为未完成的节点启动过程。
而且,要知道,存储在EBS卷数据是坏主意:
虽然这不会直接回答你的问题,希望这点你在正确的方向:
有上freenode.org
一个相当活跃#cassandra
IRC通道。
所以这是为什么我们的一些节点被卡的答案。
1)我们从卡桑德拉-0.7.2升级到cassandra0.8.2
2)我们加载与的SSTable装载机实用
3)sstables但一些数据的一些列从hadoop工作直接插入家庭。 由于我们没有升级hadoop中的cassandra api,这些列系列的数据显示了其他一些版本。
4)由于这个版本不匹配卡桑德拉抛出“版本不匹配异常”,并终止流
5)所以对于这个解决方案是使用“nodetool擦洗密钥空间的ColumnFamily”。我已经使用这个,我的问题解决了
因此,这里主要的是,如果要升级的卡桑德拉集群能力ü必须做到nodetool擦洗