PDConfiguration / コンフィグレーションファイル

PD 構成ファイルは、コマンドライン パラメーターよりも多くのオプションをサポートしています。デフォルトの構成ファイルはここにあります。

このドキュメントでは、コマンド ライン パラメーターに含まれていないパラメーターについてのみ説明します。コマンド ライン パラメータのここを確認します。

name

  • PD ノードの一意の名前
  • デフォルト値: "pd"
  • 複数の PD ノードを開始するには、各ノードに一意の名前を使用します。

data-dir

  • PD がデータを格納するディレクトリ
  • デフォルト値: default.${name}"

client-urls

  • PD がリッスンするクライアント URL のリスト
  • デフォルト値: "http://127.0.0.1:2379"
  • クラスターをデプロイするときは、現在のホストの IP アドレスをclient-urlsとして指定する必要があります (たとえば、 "http://192.168.100.113:2379" )。クラスターが Docker で実行されている場合は、Docker の IP アドレスを"http://0.0.0.0:2379"として指定します。

advertise-client-urls

  • クライアントが PD にアクセスするためのアドバタイズ URL のリスト
  • デフォルト値: "${client-urls}"
  • Docker または NAT ネットワーク環境などの一部の状況では、PD がリッスンするデフォルトのクライアント URL を介してクライアントが PD にアクセスできない場合、アドバタイズ クライアント URL を手動で設定する必要があります。
  • たとえば、Docker の内部 IP アドレスは172.17.0.1ですが、ホストの IP アドレスは192.168.100.113で、ポート マッピングは-p 2380:2380に設定されています。この場合、 advertise-client-urls"http://192.168.100.113:2380"を設定できます。クライアントは"http://192.168.100.113:2380"を通じてこのサービスを見つけることができます。

peer-urls

  • PD ノードがリッスンするピア URL のリスト
  • デフォルト値: "http://127.0.0.1:2380"
  • クラスターをデプロイするときは、現在のホストの IP アドレスとしてpeer-urls ( "http://192.168.100.113:2380"など) を指定する必要があります。クラスターが Docker で実行されている場合は、Docker の IP アドレスを"http://0.0.0.0:2380"として指定します。

advertise-peer-urls

  • 他の PD ノード (ピア) が PD ノードにアクセスするためのアドバタイズ URL のリスト
  • デフォルト: "${peer-urls}"
  • Docker または NAT ネットワーク環境などの一部の状況では、他のノード (ピア) が、この PD ノードがリッスンするデフォルトのピア URL を介して PD ノードにアクセスできない場合、アドバタイズ ピア URL を手動で設定する必要があります。
  • たとえば、Docker の内部 IP アドレスは172.17.0.1ですが、ホストの IP アドレスは192.168.100.113で、ポート マッピングは-p 2380:2380に設定されています。この場合、 advertise-peer-urls"http://192.168.100.113:2380"を設定できます。他の PD ノードは、 "http://192.168.100.113:2380"を介してこのサービスを見つけることができます。

initial-cluster

  • ブートストラップ用の初期クラスター構成

  • デフォルト値: "{name}=http://{advertise-peer-url}"

  • たとえば、 name"pd"advertise-peer-urls"http://192.168.100.113:2380"の場合、 initial-cluster"pd=http://192.168.100.113:2380"です。

  • 3 つの PD サーバーを開始する必要がある場合、 initial-clusterつは次のようになります。

    pd1=http://192.168.100.113:2380, pd2=http://192.168.100.114:2380, pd3=192.168.100.115:2380

initial-cluster-state

  • クラスタの初期状態
  • デフォルト値: "new"

initial-cluster-token

  • ブートストラップ フェーズ中にさまざまなクラスタを識別します
  • デフォルト値: "pd-cluster"
  • 同じ構成のノードを持つ複数のクラスターが連続してデプロイされる場合は、異なるクラスター ノードを分離するために異なるトークンを指定する必要があります。

lease

  • PD リーダー キー リースのタイムアウト。タイムアウト後、システムはリーダーを再選出します。
  • デフォルト値: 3
  • 単位:秒

quota-backend-bytes

  • メタ情報データベースのストレージ サイズ。デフォルトでは 8GiB です。
  • デフォルト値: 8589934592

auto-compaction-mod

  • メタ情報データベースの自動圧縮モード
  • 利用可能なオプション: periodic (サイクル別) およびrevision (バージョン番号別)。
  • デフォルト値: periodic

auto-compaction-retention

  • auto-compaction-retentionperiodicの場合のメタ情報データベースの自動圧縮の時間間隔。圧縮モードがrevisionに設定されている場合、このパラメーターは自動圧縮のバージョン番号を示します。
  • デフォルト値: 1h

force-new-cluster

  • PD を新しいクラスターとして強制的に開始し、 Raftメンバーの数を1に変更するかどうかを決定します。
  • デフォルト値: false

安全

セキュリティに関するConfiguration / コンフィグレーション項目

cacert-path

  • CA ファイルのパス
  • デフォルト値: ""

cert-path

  • X509 証明書を含む Privacy Enhanced Mail (PEM) ファイルのパス
  • デフォルト値: ""

key-path

  • X509 キーを含む PEM ファイルのパス
  • デフォルト値: ""

redact-info-log v5.0 の新機能

  • PD ログでログのリダクションを有効にするかどうかを制御します
  • 構成値をtrueに設定すると、ユーザー データは PD ログで編集されます。
  • デフォルト値: false

log

ログに関するConfiguration / コンフィグレーション項目

level

  • 出力ログのレベルを指定します
  • オプションの値: "debug""info""warn""error""fatal"
  • デフォルト値: "info"

format

  • ログ形式
  • オプションの値: "text""json"
  • デフォルト値: "text"

disable-timestamp

  • ログで自動生成されたタイムスタンプを無効にするかどうか
  • デフォルト値: false

log.file

ログファイルに関するConfiguration / コンフィグレーション項目

max-size

  • 1 つのログ ファイルの最大サイズ。この値を超えると、システムは自動的にログをいくつかのファイルに分割します。
  • デフォルト値: 300
  • 単位:MiB
  • 最小値: 1

max-days

  • ログを保持する最大日数
  • 構成項目が設定されていない場合、またはその値がデフォルト値の 0 に設定されている場合、PD はログ ファイルを消去しません。
  • デフォルト値: 0

max-backups

  • 保持するログ ファイルの最大数
  • 構成項目が設定されていない場合、またはその値がデフォルト値の 0 に設定されている場合、PD はすべてのログ ファイルを保持します。
  • デフォルト値: 0

metric

監視に関するConfiguration / コンフィグレーション項目

interval

  • モニタリング指標データが Prometheus にプッシュされる間隔
  • デフォルト値: 15s

schedule

スケジューリングに関するConfiguration / コンフィグレーション項目

max-merge-region-size

  • Region Mergeのサイズ制限を制御します。 リージョンサイズが指定された値より大きい場合、PD はそのリージョンとマージしません。
  • デフォルト値: 20
  • 単位:MiB

max-merge-region-keys

  • Region Mergeキーの上限を指定します。リージョンキーが指定された値より大きい場合、PD はそのリージョンを隣接するリージョンとマージしません。
  • デフォルト値: 200000

patrol-region-interval

  • replicaCheckerがリージョンのヘルス状態をチェックする実行頻度を制御します。この値が小さいほど、 replicaChecker回の実行が速くなります。通常、このパラメータを調整する必要はありません。
  • デフォルト値: 10ms

split-merge-interval

  • 同じリージョンでのsplit回目とmerge目の操作の間の時間間隔を制御します。つまり、新しく分割されたリージョンはしばらくマージされません。
  • デフォルト値: 1h

max-snapshot-count

  • 1 つのストアが同時に受信または送信するスナップショットの最大数を制御します。 PD スケジューラは、この構成に依存して、通常のトラフィックに使用されるリソースが横取りされるのを防ぎます。
  • デフォルト値: 64

max-pending-peer-count

  • 1 つのストアで保留中のピアの最大数を制御します。 PD スケジューラーは、この構成に依存して、一部のノードで古いログを持つリージョンが生成されるのを防ぎます。
  • デフォルト値: 64

max-store-down-time

  • 切断されたストアを復旧できないと PD が判断するまでのダウンタイム。指定された時間が経過しても PD がストアからハートビートを受信できない場合、PD は他のノードにレプリカを追加します。
  • デフォルト値: 30m

max-store-preparing-time v6.1.0 の新機能

  • ストアがオンラインになるまでの最大待機時間を制御します。ストアのオンライン段階で、PD はストアのオンライン進行状況を照会できます。指定された時間を超えると、PD はストアがオンラインであると見なし、ストアのオンラインの進行状況を再度照会することはできません。ただし、これはリージョンが新しいオンライン ストアに移行するのを妨げるものではありません。ほとんどのシナリオでは、このパラメーターを調整する必要はありません。
  • デフォルト値: 48h

leader-schedule-limit

  • 同時に実行されるリーダー スケジューリング タスクの数
  • デフォルト値: 4

region-schedule-limit

  • 同時に実行されるリージョンスケジューリング タスクの数
  • デフォルト値: 2048

enable-diagnostic v6.3.0 の新機能

  • 診断機能を有効にするかどうかを制御します。有効にすると、PD はスケジューリング中に状態を記録し、診断に役立てます。有効にすると、スケジューリング速度にわずかに影響し、多くのストアがある場合により多くのメモリを消費する可能性があります。
  • デフォルト値: false

hot-region-schedule-limit

  • 同時に実行されているホットリージョンスケジューリング タスクを制御します。これは、リージョンのスケジューリングとは無関係です。
  • デフォルト値: 4

hot-region-cache-hits-threshold

  • ホットリージョンを識別するのに必要な分数を設定するために使用されるしきい値。 PD は、リージョンがこの分数を超えてホットスポット状態になった後にのみ、ホットスポット スケジューリングに参加できます。
  • デフォルト値: 3

replica-schedule-limit

  • 同時に実行されるレプリカ スケジューリング タスクの数
  • デフォルト値: 64

merge-schedule-limit

  • 同時に実行されるRegion Mergeのスケジューリング タスクの数。 Region Mergeを無効にするには、このパラメーターを0に設定します。
  • デフォルト値: 8

high-space-ratio

  • それ以下ではストアの容量が十分であるしきい値比率。ストアのスペース占有率がこのしきい値よりも小さい場合、PD はスケジューリング時にストアの残りスペースを無視し、主にリージョンサイズに基づいて負荷を分散します。この構成は、 region-score-formula-versionv1に設定されている場合にのみ有効です。
  • デフォルト値: 0.7
  • 最小値: 0より大きい
  • 最大値: 1未満

low-space-ratio

  • それを超えるとストアの容量が不足するしきい値の比率。ストアのスペース占有率がこのしきい値を超えると、PD はこのストアへのデータの移行を可能な限り回避します。一方、対応するストアのディスク容量が使い果たされることを避けるために、PD は主にストアの残りの容量に基づいてスケジューリングを行います。
  • デフォルト値: 0.8
  • 最小値: 0より大きい
  • 最大値: 1未満

tolerant-size-ratio

  • balanceバッファ サイズを制御します
  • デフォルト値: 0 (バッファサイズを自動的に調整します)
  • 最小値: 0

enable-cross-table-merge

  • クロステーブルのリージョンのマージを有効にするかどうかを決定します
  • デフォルト値: true

region-score-formula-version v5.0 の新機能

  • リージョンスコア式のバージョンを制御します
  • デフォルト値: v2
  • オプションの値: v1およびv2 。 v1 と比較して、v2 の変化はよりスムーズであり、スペースの再利用によって引き起こされるスケジューリングのジッターが改善されます。

ノート:

クラスターを TiDB 4.0 バージョンから現在のバージョンにアップグレードした場合、新しいフォーミュラ バージョンはデフォルトで自動的に無効になり、アップグレードの前後で一貫した PD 動作が保証されます。式のバージョンを変更する場合は、 pd-ctlの設定を手動で切り替える必要があります。詳細はPD Controlを参照してください。

enable-joint-consensus v5.0 の新機能

  • レプリカのスケジューリングにジョイント コンセンサスを使用するかどうかを制御します。この構成が無効になっている場合、PD は一度に 1 つのレプリカをスケジュールします。
  • デフォルト値: true

hot-regions-write-interval v5.4.0 の新機能

  • PD がホットリージョン情報を保存する時間間隔。
  • デフォルト値: 10m

ノート:

ホット リージョンに関する情報は、3 分ごとに更新されます。間隔が 3 分未満に設定されている場合、間隔中の更新は無意味になる可能性があります。

hot-regions-reserved-days v5.4.0 の新機能

  • ホットリージョン情報を保持する日数を指定します。
  • デフォルト値: 7

replication

レプリカに関するConfiguration / コンフィグレーション項目

max-replicas

  • レプリカの数、つまりリーダーとフォロワーの数の合計。デフォルト値3は、1 人のリーダーと 2 人のフォロワーを意味します。この構成がオンラインで変更されると、PD はバックグラウンドでリージョンをスケジュールし、レプリカの数がこの構成と一致するようにします。
  • デフォルト値: 3

location-labels

isolation-level

strictly-match-label

  • TiKV ラベルが PD のlocation-labelsと一致するかどうかの厳密なチェックを有効にします。
  • デフォルト値: false

enable-placement-rules

  • placement-rulesを有効にします。
  • デフォルト値: false
  • 配置ルールを参照してください。
  • TiDB 4.0 の実験的機能。

flow-round-by-digit 5.1 の新機能

  • デフォルト値: 3
  • PD は、フロー番号の最下位桁を四捨五入します。これにより、リージョンフロー情報の変更によって引き起こされる統計の更新が減少します。この構成項目は、リージョンフロー情報を丸める最小桁数を指定するために使用されます。たとえば、デフォルト値が3であるため、フロー100512101000に丸められます。この構成はtrace-region-flowを置き換えます。

ノート:

クラスターを TiDB 4.0 バージョンから現在のバージョンにアップグレードした場合、アップグレード後のflow-round-by-digitの動作とアップグレード前のtrace-region-flowの動作はデフォルトで一貫しています。これは、アップグレード前にtrace-region-flowの値が false の場合、アップグレード後のflow-round-by-digitの値は 127 であることを意味します。アップグレード前のtrace-region-flowの値がtrueの場合、アップグレード後のflow-round-by-digitの値は3です。

label-property

ラベルに関するConfiguration / コンフィグレーション項目

key

  • リーダーを拒否したストアのラベル キー
  • デフォルト値: ""

value

  • リーダーを拒否したストアのラベル値
  • デフォルト値: ""

dashboard

TiDB ダッシュボード内蔵 PD に関するConfiguration / コンフィグレーション項目。

tidb-cacert-path

  • ルート CA 証明書ファイルのパス。 TLS を使用して TiDB の SQL サービスに接続するときに、このパスを構成できます。
  • デフォルト値: ""

tidb-cert-path

  • SSL 証明書ファイルのパス。 TLS を使用して TiDB の SQL サービスに接続するときに、このパスを構成できます。
  • デフォルト値: ""

tidb-key-path

  • SSL 秘密鍵ファイルのパス。 TLS を使用して TiDB の SQL サービスに接続するときに、このパスを構成できます。
  • デフォルト値: ""

public-path-prefix

  • TiDB ダッシュボードがリバース プロキシの背後でアクセスされる場合、この項目はすべての Web リソースのパブリック URL パス プレフィックスを設定します。
  • デフォルト値: /dashboard
  • TiDB ダッシュボードがリバース プロキシの背後でアクセスされていない場合は、この構成項目を変更しないでください。そうしないと、アクセスの問題が発生する可能性があります。詳細はリバース プロキシの背後で TiDB ダッシュボードを使用するを参照してください。

enable-telemetry

  • TiDB ダッシュボードでテレメトリ収集機能を有効にするかどうかを決定します。
  • デフォルト値: true
  • 詳細はテレメトリーを参照してください。

replication-mode

すべてのリージョンのレプリケーション モードに関連するConfiguration / コンフィグレーションアイテム。詳細はDR 自動同期モードを有効にするを参照してください。