パラレル・サブ範囲リペアの最大値の設定

max_parallel_repairs構成オプションを設定する状況について説明します。実行速度の遅いリペアを手動で調整するか、リペアのトラブルシューティングを行う場合は、サブ範囲リペアの最大並列処理数のオプションを設定します。

実行速度の遅いリペアを手動で調整するか、リペアのトラブルシューティングを行う場合は、並列処理で実行するサブ範囲リペアの最大数を設定します。

max_parallel_repairsオプションを指定していない場合、または0(デフォルト)に設定している場合、Repair Service(リペア・サービス)は、並列処理で実行する適切な最大リペア数を計算します。基本計算では、ceiling(クラスター内のノード総数 / レプリケーション係数の最大総数)を使用します。この計算では、リペア中にレプリカ・セットが重複しません。

注意: DataStaxでは、time_to_completion_percentageスロットルを使用していない場合にのみ、max_parallel_repairsを手動で調整し、min_repair_timeとその他の高度なオプションやエキスパート・オプションの変更を行うことを推奨しています。「サブ範囲リペアのスロットルの調整または無効化」を参照してください。

手順

  1. すべてのクラスターについて編集する場合はopscenterd.confを開き、特定のクラスターについて編集する場合はcluster_name.confを開きます。
  2. お使いの環境に応じて構成を調整します。
    max_parallel_repairsを0に設定する(または空白のままにする)と、Repair Service(リペア・サービス)は、前述の数式に基づいて並列処理で実行するサブ範囲リペアの数を動的に計算します。
    [repair_service]
    max_parallel_repairs=0

    これは、最大パラレル・サブ範囲リペア数を決定するデフォルトの動作です。DataStaxでは、最大パラレル・リペア数の動的なデフォルト設定と、time_to_completion_target_percentageオプションで指定したスロットルを組み合わせて使用することを推奨しています。

    max_parallel_repairsを1に設定すると、Repair Service(リペア・サービス)は一度に1つのリペア・タスクのみを実行します。
    [repair_service]
    max_parallel_repairs=1

    サブ範囲リペアとインクリメンタル・リペアは、交互に1つずつタスクを実行します。Repair Service(リペア・サービス)は、サブ範囲リペアが完了するまで待ってから、インクリメンタル・リペアを開始し、その逆の場合も同様です。リペアで1つずつタスクを処理し、インクリメンタル・リペアとサブ範囲リペアを交互に行う設定は、トラブルシューティング時に問題を分離するときに役立ちます。

    動的に計算された値(最初の例で示したデフォルトの0が設定されている場合か未設定の場合)でサブ範囲リペアの実行速度が遅い場合は、最大パラレル・リペア数を手動で設定します。
    [repair_service]
    max_parallel_repairs=4

    お使いの環境でリペアの処理が予想どおりになるまで、この値の調整を繰り返します。

  3. opscenterdを再起動します
  4. [Status]タブでリペアの進行状況を監視します。
  5. Repair Service(リペア・サービス)ログのメッセージで、構成の変更がお使いの環境に与える影響を確認します。