无法将节点添加到现有的Cassandra Cluster

时间:2011-11-22 11:24:59

标签: amazon-ec2 cassandra nodes cluster-computing cassandra-0.7

我们在EC2上有6个节点的cassandra集群,我们必须将其容量加倍到12个节点。 所以要添加6个节点,我按照以下步骤操作。

1计算12个节点的令牌并相应地配置新节点。

2通过适当的配置启动新节点,以便新节点将二等分 现有的令牌范围。

  • 一开始,所有新节点都在显示流媒体 进展。
  • 在响铃状态下,所有节点都处于“加入”状态
  • 12个小时后,2个节点完成了流媒体并进入正常状态。
  • 但是在流式传输一些数据之后剩余的4个节点上,它们没有显示任何进展,看起来像是卡住了

我们安装了Cassandra-0.8.2,每个现有节点上有大约500 GB的数据,并在EBS卷上存储数据。

如何解决此问题并获得12个节点的平衡群集?

我可以重启节点吗?

如果我清理卡住Cassandra节点的数据目录并重新启动全新安装,是否会导致数据丢失?

3 个答案:

答案 0 :(得分:3)

如果复制因子2或更高,则不会有任何数据丢失。

Cassandra的0.8.2版本有几个已知问题 - 请在所有原始节点上升级到0.8.8以及出现的新节点,然后为未完成的节点启动该过程。

另外,请注意,在EBS卷上存储数据是一个坏主意

http://www.mail-archive.com/user@cassandra.apache.org/msg11022.html

答案 1 :(得分:0)

虽然这不会直接回答你的问题,但希望它指出你正确的方向:

#cassandra上有一个相当活跃的freenode.org个IRC频道。

答案 2 :(得分:0)

所以这就是为什么我们的一些节点被卡住的答案。

1)我们已经从cassandra-0.7.2升级到cassandra0.8.2

2)我们正在使用sstable-loader实用程序加载sstables

3)但是某些列系列的某些数据是直接从hadoop作业中插入的。 这些列系列的数据显示了其他一些版本,因为我们还没有升级hadoop中的cassandra api。

4)由于此版本不匹配cassandra抛出“版本不匹配异常”并终止流式传输

5)因此,解决方法是使用“nodetool scrub keyspace columnfamily”。我用过这个,我的问题已经解决了

所以这里最重要的是如果你要升级cassandra集群容量你必须做nodetool scrub