Cassandra启动问题:尝试将id分配给现有列族

Cassandra启动问题:尝试将id分配给现有列族,cassandra,startup,Cassandra,Startup,我在centos5.5 x86_64上使用jdk-1.6.0_24 64位的cassandra 0.7.4。 当我重新启动它时,它会抛出: 我尝试定位问题:当我删除系统键空间的文件时,它可以重新启动成功! 因此,我认为这个问题是由系统键空间引起的,即使是在CFScheam上 然后我建立了一个新的测试环境,我知道这个问题是由这个操作引起的 update keyspace system with replication_factor=3; 但现在我该怎么修理它?! 此群集上有许多数据,我不能丢

我在centos5.5 x86_64上使用jdk-1.6.0_24 64位的cassandra 0.7.4。 当我重新启动它时,它会抛出:



我尝试定位问题:当我删除系统键空间的文件时,它可以重新启动成功! 因此,我认为这个问题是由系统键空间引起的,即使是在CFScheam

然后我建立了一个新的测试环境,我知道这个问题是由这个操作引起的

update keyspace system with replication_factor=3;
但现在我该怎么修理它?! 此群集上有许多数据,我不能丢失数据

我已经用replication\u factor=1更新了keyspace系统,但问题仍然存在。 我尝试在冲洗后或冲洗前使用nodetool进行修复,但都没有效果


如何在不丢失数据的情况下重新启动cassandra?谁能帮助我?

除非您真的非常了解自己在做什么,否则您永远不应该修改系统键空间。(如果你必须问,你不需要问。)

所以,答案是:不要这样做


要恢复,您应该将cassandra.yaml中的初始_令牌设置为节点的当前令牌(您可以通过“nodetool ring”看到),然后删除系统密钥空间并重新启动。然后您需要重新创建columnfamily定义,但您的数据不会受到影响。

谢谢jbellis!当我不知道这个问题时,我会进行修改。然后我想知道当我知道出了什么问题时我能做什么。我知道删除数据可以重新启动,但我真的不能丢失cassandra中的数据存储,知道吗?解决方法是:,非常感谢!
update keyspace system with replication_factor=3;