如何从cassandra中的提交日志中提取信息?

时间:2020-06-26 16:25:07

标签: database encoding cassandra zip compression

我有一个从cassandra提取的提交日志文件(CommitLog-7-1593076543244.log),但似乎该文件已压缩,就像一个二进制文件。当我使用“ utf-8”编码在vscode中打开它时,看起来像enter image description here。 那么,如何恢复/解压缩文件并从提交日志中提取有用的信息呢? 有人可以帮我弄这个吗?谢谢。

1 个答案:

答案 0 :(得分:0)

  • 如果服务器先前崩溃并且那些记录未刷新到commit log,Cassandra仅在重新启动时使用Memtable来恢复SStable

  • 这是内部结构,只要Kafka代码向后兼容且能够恢复,它们就可以自由地在版本之间更改结构,并且它们可以在崩溃后重启的服务器上恢复Memtable

  • 通过重新启动服务器(如果服务器已崩溃),该信息将恢复到Memtable,并且可以通过CQL查询的常规通道来使用该信息。

  • >
  • 那么,您需要长时间提交哪些信息,您的情况如何以及为什么无法通过我描述的路径来实现它。

注意:

也许您可以通过检查CommitLog.recover()方法并将相关代码提取到程序中来轻松编写一个工具来读取日志段。