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