所有人
我正在运行cassandra2.2.8,并已将commitlog存档配置为自动运行。
commitlog_archiving.properties:
archive_command=/bin/cp %path /data1/backup/%name
但是我注意到它总是复制旋转的文件,而不是当前正在工作的提交日志。例如,我有一个提交日志文件CommitLog-5-1533697321883.log现在正在工作,将其旋转到另一个文件CommitLog-5-1533697321884.log之后,该文件CommitLog-5-1533697321883.log将被存档,现在全部会话将转到CommitLog-5-1533697321884.log文件,但它根本没有备份,将在灾难恢复中丢失。
我的问题是,这是设计的行为吗?我该如何改善这种情况?还是cassandra 3有任何改进?
答案 0 :(得分:0)
是的,这是设计行为-当前提交日志在设计上是不完整的-这就是为什么您可以访问已归档的提交日志。 (afaik,对于大多数数据库来说都是一样的。)
如果数据很关键,则可能需要考虑调整一致性级别。