2013-10-10 73 views
2

我試圖重新安裝Cassandra,現在數據丟失了! 我發現SSTables仍然存在並且佔用大量磁盤空間。如何將數據從SSTables恢復到Cassandra?

我做了什麼

sudo apt-get --purge remove cassandra 
sudo apt-get install dsc20 

我怎樣才能將數據返回到卡桑德拉。

回答

2

這是一種hacky(該工具未按預期使用),但可以使用sstable2json將舊sstable中的數據導出到json中,然後將其重新導入到新的C * install中。爲了你必須這樣做:

  1. 出口從舊sstables數據使用sstable2json
  2. 重新創建你以前有CF(結構相同)
  3. 刷新新創建相同的CF(./nodetool flush
  4. 停止卡桑德拉
  5. 導入JSON你使用json2sstable以前導出到新創建的sstables。

這是因爲json2sstable和sstable2json是調試工具而不是導出/導入工具。