【发布时间】:2015-07-07 19:33:31
【问题描述】:
所以我做了一些测试运行/灾难恢复实践,删除表并通过我构建的测试集群上的快照在 Cassandra 中恢复。
这个测试集群有四个节点,我使用了节点重启方法,所以在截断有问题的表后,所有节点都被关闭,commitlog 目录被清除,并且当前快照数据被复制回每个节点的表目录中。之后,我恢复了每个节点。然后按照文档,我对每个节点进行了修复,然后在每个节点上进行了刷新。
我的问题是,为什么我必须在之后假设没有节点关闭,除非我关闭它们以执行恢复过程时对每个节点运行修复? (在这个测试实例中,它是少量数据并且需要很短的时间来修复,如果在我们的生产环境中发生这种情况,修复将需要大约 12 小时才能执行,所以这对我们来说在灾难场景中可能是一个巨大的问题) .
我认为在单个节点实例上运行修复是完全没有必要的,对吗?
只是想弄清楚运行修复和后续刷新的目的是什么。
【问题讨论】:
标签: cassandra cassandra-2.0 datastax datastax-enterprise