cassandra - 如何将数据从 SSTables 恢复回 Cassandra?

标签 cassandra apt data-recovery

我尝试重新安装 Cassandra,但现在数据丢失! 我发现 SSTables 仍然存在并占用大量磁盘空间。

我做了什么

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

如何将数据取回 cassandra。

最佳答案

这有点 hacky(该工具没有按预期使用),但您可以使用 sstable2json 将旧 sstable 中的数据导出到 json,然后将其重新导入回新的 C* 安装。为此,您必须:

  1. 使用 sstable2json 从旧 sstable 导出数据
  2. 重新创建您之前拥有的 CF(相同结构)
  3. 刷新新创建的相同 cf (./nodetoollush)
  4. 停止 Cassandra
  5. 使用 json2sstable 将之前导出的 json 导入到新创建的 sstable 中。

这很 hacky,因为 json2sstable 和 sstable2json 是调试工具而不是导出/导入工具。

关于cassandra - 如何将数据从 SSTables 恢复回 Cassandra?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19304294/

相关文章:

solr - 在 DataStax Enterprise 中将 PreparedStatement 与 solr_query 结合使用

cassandra - 为什么 cassandra 占用如此多的 CPU

mongodb - 选择哪个数据库(Cassandra、MongoDB、?)来存储和查询事件/日志/指标数据?

git - 意外运行 "git clean -df"后如何恢复文件?

cassandra - Cassandra 中默认值的替代方案

debian - 如何在使用 'apt-get' 安装软件包之前检查版本?

debian - 您如何使用 saltstack 添加包 repo 和 apt key ?

Python 显示所有已安装的包

mysql:从 frm 文件恢复数据库

删除 ibdata1 后 MySQL 表消失了