Commitlog archive 总是会丢失最新的commitlog?
Commitlog archive will always lost the lastest commitlog?
大家
我是 运行ning cassandra2.2.8,并且已将提交日志存档自动配置为 运行。
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 有什么改进吗?
是的,这是设计行为 - 当前提交日志在设计上是不完整的 - 这就是您可以访问存档提交日志的原因。 (afaik,这对大多数数据库都是一样的)。
如果您的数据很重要,您可能需要考虑调整一致性级别。
大家
我是 运行ning cassandra2.2.8,并且已将提交日志存档自动配置为 运行。
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 有什么改进吗?
是的,这是设计行为 - 当前提交日志在设计上是不完整的 - 这就是您可以访问存档提交日志的原因。 (afaik,这对大多数数据库都是一样的)。
如果您的数据很重要,您可能需要考虑调整一致性级别。