修复节点(一)

修复节点

随着时间的推移,由于数据库的分布式特性,副本中的数据可能与其他副本不一致。节点修复可以纠正不一致,以便最终所有节点都具有相同且最新的数据。是每个Cassandra集群定期维护的重要组成部分。

Cassandra提供以下修复过程:

  • Hinted Handoff
    如果节点无法接收到特定的写入,则写入的协调器节点会将要写入的数据保留为一组提示。当节点恢复在线时,协调器通过提交提示来实现修复,以便节点能够赶上所需的写入。

  • Read Repair(读修复)
    在读取路径期间,查询汇集来自多个节点的数据。此写入的协调器节点会比较来自每个副本节点的数据。如果任何副本节点有已经过期的数据,协调器节点将发送最新数据给对应节点。这种修复的范围取决于keyspace的复制因子。在写入期间,Cassandra仅收集足够的副本数据以满足复制因素,并且只对参与该写入操作的节点执行读取修复。

    Cassandra也可以随意选择写入,并对所有副本执行读取修复,而不考虑复制因素。

  • Anti-Entropy Repair(反熵修复)
    Cassandra提供了nodetool repair工具来确保跨副本的数据一致性; 它会比较所有副本上的数据,然后将数据更新到最新版本。nodetool repair 作为日常维护程序的一部分使用。

警告: DataStax建议在topology更改期间停止修复操作; 维修服务会自动执行。当topology变化期间或在涉及移动ranges时运行修复操作可能出错。
您可以使用Cassandra设置或Cassandra工具来配置每种类型的修复。有关何时使用每种类型的维修以及如何配置每种维修的详细信息,请参阅上面列出的页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值