Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon ec2 无法将节点添加到现有Cassandra群集_Amazon Ec2_Cassandra_Nodes_Cluster Computing_Cassandra 0.7 - Fatal编程技术网

Amazon ec2 无法将节点添加到现有Cassandra群集

Amazon ec2 无法将节点添加到现有Cassandra群集,amazon-ec2,cassandra,nodes,cluster-computing,cassandra-0.7,Amazon Ec2,Cassandra,Nodes,Cluster Computing,Cassandra 0.7,我们在EC2上有6个节点的cassandra集群,我们必须将其容量加倍到12个节点。 因此,为了再添加6个节点,我遵循以下步骤 1计算了12个节点的令牌,并相应地配置了新节点 2在正确配置的情况下,启动新节点,以便它们将新节点一分为二 现有令牌范围 开始时,所有新节点都显示了流 进步 在环状态下,所有节点都处于“加入”状态 12小时后,2个节点完成流式处理并进入正常状态 但是在剩余的4个节点上,在流传输了一些数据之后,它们没有显示任何进展,看起来它们被卡住了 我们已经安装了Cassandra

我们在EC2上有6个节点的cassandra集群,我们必须将其容量加倍到12个节点。 因此,为了再添加6个节点,我遵循以下步骤

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

2在正确配置的情况下,启动新节点,以便它们将新节点一分为二 现有令牌范围

  • 开始时,所有新节点都显示了流 进步
  • 在环状态下,所有节点都处于“加入”状态
  • 12小时后,2个节点完成流式处理并进入正常状态
  • 但是在剩余的4个节点上,在流传输了一些数据之后,它们没有显示任何进展,看起来它们被卡住了
我们已经安装了Cassandra-0.8.2,在每个现有节点上有大约500 GB的数据,并将数据存储在EBS卷上

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

我可以重新启动节点吗


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

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


freenode.org

上有一个相当活跃的
#cassandra
IRC频道,如果您的复制系数为2或更大,则不会有任何数据丢失

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

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


下面是我们的一些节点被卡住的原因

1) 我们已经从cassandra-0.7.2升级到cassandra-0.8.2

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

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

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

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

因此,这里的主要问题是,如果要升级cassandra群集容量,则必须执行nodetool清理