Cassandra键空间消失,导致数据丢失

时间:2015-07-21 13:31:31

标签: cassandra

我在http://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_node_to_cluster_t.html之后添加了一个节点(cassandra-03)到我的Cassandra 2.1.8集群(2个现有节点,cassandra-01和cassandra-02,160 + GB,1个密钥空间)。< / p>

在阶段#3(重新启动每个节点之后),我意识到在我现有的节点(cassandra-01和cassandra-02)上,我的密钥空间消失了,但数据仍在文件系统上。

nodetool status给出了预期的输出(3个节点集群),除了数据列(我在cassandra-01和cassandra-02上预计160GB),我只有几KB。

我在第4步上前进并在cassandra-01上运行nodetool cleanup。它在几秒钟内工作,但我的键空间仍然缺失。

我通过cqlsh重新创建了我的密钥空间,希望cassandra能够使用文件系统上的数据,但没有运气。

据我所知,日志上没什么奇怪的。

我怎样才能恢复我的密钥空间数据?

1 个答案:

答案 0 :(得分:1)

我无法在新的密钥空间中使用SSTable文件(使用与原始密钥空间相同的名称创建),因此我使用sstableloader工具将我的数据重新注入新创建的密钥空间(创建了所有表格:

$ sudo mv /var/lib/cassandra/data/mykeyspace /otherlocation/mykeyspace
$ sstableloader -d <host> -f /etc/cassandra/cassandra.yaml -v /otherlocation/mykeyspace/tablename-<token>;