代码之家  ›  专栏  ›  技术社区  ›  Kun Li

CommitLog存档将始终丢失最新的CommitLog?

  •  0
  • Kun Li  · 技术社区  · 7 年前

    每个人

    我正在运行cassandra2.2.8,并已将commitlog存档配置为自动运行。

    commitlog_archiving.properties:

    archive_command=/bin/cp %path /data1/backup/%name
    

    但是我注意到它总是复制已经旋转的文件,而不是当前正在工作的commitlog。例如,我有一个commitlog文件commitlog-5-1533697321883.log正在工作,在它旋转到另一个文件commitlog-5-1533697321884.log后,commitlog-5-1533697321883.log文件将被存档,现在所有会话都将转到commitlog-5-1533697321884.log文件,但它没有返回。在灾难恢复中,完全恢复了。

    我的问题是,这是设计的行为吗?我能做些什么来改善这种情况?或者卡桑德拉3有什么改进吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Alex Ott    7 年前

    是的,这是设计好的行为——当前提交日志的设计不完整——这就是为什么您可以访问归档的提交日志。(afaik,大多数数据库都是这样)。

    如果您的数据是关键的,您可能需要考虑调整一致性级别。