我尝试重新安装 Cassandra,但现在数据丢失! 我发现 SSTables 仍然存在并占用大量磁盘空间。
我做了什么
sudo apt-get --purge remove cassandra
sudo apt-get install dsc20
如何将数据取回 cassandra。
最佳答案
这有点 hacky(该工具没有按预期使用),但您可以使用 sstable2json 将旧 sstable 中的数据导出到 json,然后将其重新导入回新的 C* 安装。为此,您必须:
- 使用 sstable2json 从旧 sstable 导出数据
- 重新创建您之前拥有的 CF(相同结构)
- 刷新新创建的相同 cf (
./nodetoollush
) - 停止 Cassandra
- 使用 json2sstable 将之前导出的 json 导入到新创建的 sstable 中。
这很 hacky,因为 json2sstable 和 sstable2json 是调试工具而不是导出/导入工具。
关于cassandra - 如何将数据从 SSTables 恢复回 Cassandra?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19304294/