3

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

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

2 通过正确配置启动新节点,以便新节点将现有令牌范围一分为二。

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

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

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

我可以重新启动节点吗?

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

4

3 回答 3

3

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

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

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

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

于 2011-11-22T19:00:52.570 回答
0

虽然这不会直接回答您的问题,但希望它能为您指明正确的方向:

上有一个相当活跃的#cassandraIRC 频道freenode.org

于 2011-11-22T13:18:30.593 回答
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 清理

于 2011-11-29T05:42:07.257 回答