インクリメンタル・リペアの構成

OpsCenterでインクリメンタル・リペアを構成します。インクリメンタル・リペアに含めるテーブルを指定します。インクリメンタルにリペアするテーブルは、サブ範囲リペアの対象には含まれません。

Repair Service(リペア・サービス)は、ユーザーが構成したテーブル・セットでインクリメンタル・リペアを実行します。DSE 5.1以降で、OpsCenterは、インクリメンタルしきい値1 KB(デフォルト)の未リペア・データが指定されたテーブルで検出された場合にインクリメンタル・リペアを開始します。Repair Service(リペア・サービス)は、インクリメンタル・リペア・サイクルが完了すると、次のサイクルまで1時間スリープ状態になります。インクリメンタル・リペア中のエラー数がしきい値を超えると、イベント・ログにアラートが送信されます。

opscenterd.conf

opscenterd.confファイルの場所は、インストールのタイプによって異なります。
  • パッケージ・インストール:/etc/opscenter/opscenterd.conf
  • tarボール・インストール:install_location/conf/opscenterd.conf

cluster_name.conf

cluster_name.confファイルの場所は、インストールのタイプによって異なります。
  • パッケージ・インストール:/etc/opscenter/clusters/cluster_name.conf
  • tarボール・インストール:install_location/conf/clusters/cluster_name.conf

始める前に

インクリメンタル・リペアを使用するには、テーブルを手動で移行します。テーブルの形式が正しくないとログにエラーが記録されます。DSEでインクリメンタル・リペアに移行する詳細については、「インクリメンタル・リペアへの移行」を参照してください。

  • incremental_repair_tables構成オプションを使用して、インクリメンタル・リペアに含めるテーブルのリストを更新します。
    注: デフォルトでは、OpsCenter.settingsテーブルとOpsCenter.backup_reportsテーブルがインクリメンタル・リペアに含まれています。
  • お使いの環境で必要な場合にのみ、インクリメンタル・リペアとエラー・アラートをトリガーするデフォルトのしきい値を調整します。
  • お使いの環境で必要な場合にのみ、インクリメンタル・リペアが終了したあと次のリペアを開始するまでのデフォルトのスリープ時間を設定します。

インクリメンタル・リペアの構成オプション

現在、以下のオプションを構成でき、すべてのクラスターに適用するには[repair_service]セクションをopscenterd.conf ファイルに追加し、クラスターごとに適用するには cluster_name.confファイルにこのセクションを追加します。cluster_name.confの設定は、opscenterd.confの設定をオーバーライドします。構成を変更したら、opscenterdを再起動します

[repair_service] incremental_repair_datacenters
データ・センターまたはラックごとにインクリメンタル・リペアを制限します。このオプションを設定すると、リペア要求がデータ・センター内と指定されたラック内のレプリカのみに制限され、パフォーマンスが向上します。例:dc1,dc2:rack1,dc2:rack2.デフォルトの動作では、すべてのレプリカに関して、すべてのデータ・センターとラックにリペア要求が送信されます。
[repair_service] incremental_repair_tables
インクリメンタル・リペアに含めるキースペースとテーブルのリスト。OpsCenter.settingsテーブルとOpsCenter.backup_reportsテーブルはデフォルトで含まれています。例:keyspace1.standard1, keyspace1.standard2。
[repair_service] incremental_sleep
クラスターのすべてのインクリメンタル・リペアが完了した後、一時停止する秒数。デフォルト:3600(1時間)。
[repair_service] incremental_threshold
テーブルのインクリメンタル・リペアを検討するために必要な最小バイト数。デフォルト値の1バイトに設定すると、テーブルに未リペアのデータがある場合、Repair Service(リペア・サービス)はインクリメンタル・リペアを実行します。大きな値を設定する際は十分注意してください。gc_grace_seconds期間内にしきい値を超えて書き込まれるデータが不足すると、削除が失われる可能性があります。デフォルト:1.
[repair_service] incremental_err_alert_threshold
インクリメンタル・リペア時に無視するエラー数のしきい値。この値を超えると、インクリメンタル・リペアの失敗が許容される回数を超えている可能性があるというアラートが表示されます。デフォルト:20。

手順

  1. すべてのクラスターについて編集する場合は opscenterd.conf を開き、特定のクラスターについて編集する場合はcluster_name.conf を開きます。
  2. [repair_service]セクションで、環境要件に合わせて以下のインクリメンタル・オプションを設定します。
    以下の例では、データ・センター(dc1)とラック(rack1)にインクリメンタル・リペアを制限し、インクリメンタル・リペアを実行するテーブルをリストし、インクリメンタル・リペア間のスリープを2時間に倍増し、DSEバージョン5.1クラスターのインクリメンタル・リペアをトリガーする未リペア・データのしきい値を2 KBに上げ、アラートを送信するデフォルトのエラーしきい値を40エラーに倍増しています。
    [repair_service]
    incremental_repair_datacenters=dc1:rack1
    incremental_repair_tables=OpsCenter.settings,OpsCenter.backup_reports,keyspace1.standard1,keyspace2.standard2
    incremental_sleep=7200
    incremental_threshold=2
    incremental_err_alert_threshold=40
    注意: incremental_thresholdオプションを設定するときは注意が必要です。しきい値を大きくし過ぎると、リペア中に削除が失われる可能性があります。削除が正しくレプリケートされないと、削除されたデータが復元される場合があります(ゾンビ・データとも呼ばれます)。
  3. opscenterdを再起動します