gpt4 book ai didi

cassandra - 有哪些选项可以加快 Cassandra 的全面修复?

转载 作者:行者123 更新时间:2023-12-04 11:50:53 33 4
gpt4 key购买 nike

我有一个 Cassandra 数据中心,我想对其进行全面修复。数据中心用于分析/批处理,我愿意牺牲延迟来加速全面修复 (nodetool repair)。对数据中心的写入中等。

我有哪些选择可以更快地进行全面修复?一些想法:

  • 增加 streamthroughput ?
  • 我想我可以禁用自动比较并减少 compactionthroughput暂时地。不过我不确定我是否想要...

  • 附加信息:
  • 我正在运行 SSD,但没有花任何时间调整 cassandra.yaml为了这。
  • 最佳答案

    默认情况下,完全修复按顺序运行。节点数据集的状态和差异存储在二叉树中。重新创建这些是这里的主要因素。根据 this datastax blog entry ,“每次进行修复时,都必须计算树,参与修复的每个节点都必须从它存储的所有 sstable 中构建其默克尔树,这使得计算非常昂贵。”

    我认为显着提高完全修复速度的唯一方法是在 中运行它。平行或维修逐个子范围 .您的标签暗示您运行的是 Cassandra 2.0。

    1) 并行全修

     nodetool repair -par, or --parallel, means carry out a parallel repair.

    根据 the nodetool documentation for Cassandra 2.0

    Unlike sequential repair (described above), parallel repair constructs the Merkle tables for all nodes at the same time. Therefore, no snapshots are required (or generated). Use a parallel repair to complete the repair quickly or when you have operational downtime that allows the resources to be completely consumed during the repair.



    2) 子域修复
    nodetool 接受像这样的开始和结束 token 参数
     nodetool repair -st (start token) -et (end token) $keyspace $columnfamily

    为简单起见,请查看此 python 脚本,该脚本为您计算 token 并执行范围修复:
    https://github.com/BrianGallew/cassandra_range_repair

    让我指出两个备选方案:

    A) Jeff Jirsa 指着 增量维修 .

    这些从 Cassandra 2.1 开始可用。您将需要 perform certain migration steps在您可以像这样使用 nodetool 之前:
    nodetool repair -inc, or --incremental means do an incremental repair.

    B) OpsCenter 维修服务

    对于我公司的几个集群 itembase.com ,我们使用 repair service in DataStax OpsCenter它正在执行和管理小范围维修即服务。

    关于cassandra - 有哪些选项可以加快 Cassandra 的全面修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29145818/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com