2013-06-18 35 views

回答

5

空在/ var/lib中/卡桑德拉/数据,在/ var/lib中/卡桑德拉/ commitlog,在/ var/lib中/卡桑德拉/ saved_caches目录和更改集群名称后重新启动卡桑德拉。这在1.2.4版本中运行良好,请尝试使用您的版本。

建议在包装产品中使用稳定释放,如果不使用上述使用1.2.5或1.2.4代替。

+0

对不起,我使用的是版本1.2.4。如果我清空/ var/lib/cassandra/data我会丢失所有数据吗?我可以简单地恢复数据复制文件夹的内容? – ftrujillo

+0

它不正确的方式,可能会或可能不会工作。在此之前取回您的密钥空间http://www.datastax.com/docs/1.0/operations/backup_restore –

+0

您指出的backup_restore链接在您不删除系统密钥空间时非常有用。但是,如果我按照指示删除数据文件夹,系统密钥空间将丢失。 – ftrujillo

5

执行使用cqlsh工作对我下面的命令(在卡桑德拉1.2.9):

update system.local set cluster_name='$CLUSTER_NAME' where key='local';

你需要得到它的第一个工作日在cassandra.yaml设置群集名访问群集以旧名称。之后,您可以运行nodetool flush,更新cassandra.yaml,然后重新启动Cassandra。

+0

+1也为我工作。 – Aaron

+0

在Windows上运行cassandra 2.2.1,我必须运行'nodetool flush system'才能使其工作。 Nodetool刷新不足 – Skrymsli

1

清除/var/lib/cassandra/data,/var/lib/cassandra/commitlog,/var/lib/cassandra/saved_caches目录并在更改群集名称后重新启动Casandra。这在2.0.2版本中效果很好

+0

自从上次大约1小时后,我尝试了所有这些:)。徒劳无功。我也尝试过cassandra-cli。 - [default @ system] set LocationInfo [utf8('L')] [utf8('Test Cluster')] = utf8('Single Node Test Cluster'); 在当前键空间中找不到LocationInfo。 – Sumod

+0

我也尝试使用cqlsh并从本地选择*,这里是我得到 - 本地|已完成|单节点测试群集| 3.2.0 | datacenter1 – Sumod