データのサブ範囲の高速リペア

範囲全体でnodetoolリペア操作を実行する代わりに、クラスターでデータのサブ範囲をリペアします。

クラスター内データのサブ範囲をリペアすることは、nodetoolリペア操作を全範囲にわたって実行するより高速です。これは、nodetoolリペア操作中に複製されるデータすべてのインデックスが再作成される必要があるからです。データのサブ範囲をリペアするときには、インデックスを再作成する必要があるデータの量が少なくて済みます。

サブ範囲をリペアするには

クラスターのローリング・リペアとして、一度に1つのノードで以下の手順を実行します。

  1. dsetool list_subrangesコマンドを実行します。その際、サブ範囲あたりのおおよその行数、ノードのパーティション範囲の最初(トークン)、およびパーティション範囲の最後を使用します。
    dsetool list_subranges my_keyspace my_table 10000 113427455640312821154458202477256070485 0
    出力にサブ範囲が列挙されます。
    Start Token                             End Token                               Estimated Size
    ------------------------------------------------------------------------------------------------
    113427455640312821154458202477256070485 132425442795624521227151664615147681247 11264
    132425442795624521227151664615147681247 151409576048389227347257997936583470460 11136
    151409576048389227347257997936583470460 0                                       11264
  2. 以前のステップの出力をnodetool repairコマンドへの入力として使用します。
    nodetool repair my_keyspace my_table -st 113427455640312821154458202477256070485
    -et 132425442795624521227151664615147681247
    nodetool repair my_keyspace my_table -st 132425442795624521227151664615147681247
    -et 151409576048389227347257997936583470460
    nodetool repair my_keyspace my_table -st 151409576048389227347257997936583470460
    -et 0

    アンチエントロピー・ノード・リペアが、パーティション範囲の最初から最後まで実行されます。