我有一个从cassandra提取的提交日志文件(CommitLog-7-1593076543244.log),但似乎该文件已压缩,就像一个二进制文件。当我使用“ utf-8”编码在vscode中打开它时,看起来像enter image description here。 那么,如何恢复/解压缩文件并从提交日志中提取有用的信息呢? 有人可以帮我弄这个吗?谢谢。
答案 0 :(得分:0)
如果服务器先前崩溃并且那些记录未刷新到commit log
,Cassandra仅在重新启动时使用Memtable
来恢复SStable
。
这是内部结构,只要Kafka代码向后兼容且能够恢复,它们就可以自由地在版本之间更改结构,并且它们可以在崩溃后重启的服务器上恢复Memtable
通过重新启动服务器(如果服务器已崩溃),该信息将恢复到Memtable
,并且可以通过CQL
查询的常规通道来使用该信息。
那么,您需要长时间提交哪些信息,您的情况如何以及为什么无法通过我描述的路径来实现它。
注意:
也许您可以通过检查CommitLog.recover()
方法并将相关代码提取到程序中来轻松编写一个工具来读取日志段。