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

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

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

quota-backend-bytes

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

auto-compaction-mod

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

auto-compaction-retention

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

force-new-cluster

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

tso-update-physical-interval

  • PD が TSO の物理時間を更新する間隔。
  • TSO 物理時間のデフォルトの更新間隔では、PD は最大 262144 個の TSO を提供します。より多くの TSO を取得するには、この構成項目の値を減らすことができます。最小値は1msです。
  • この設定項目を減らすと、PD の CPU 使用率が増加する可能性があります。テストによると、間隔が50msの場合と比較して、間隔が1msの場合、PD のCPU使用率約 10% 増加します。
  • デフォルト値: 50ms
  • 最小値: 1ms

pdサーバー

pd-serverに関連するコンフィグレーション項目

server-memory-limit v6.6.0 の新機能

  • PD インスタンスのメモリ制限比率。値0メモリ制限がないことを意味します。
  • デフォルト値: 0
  • 最小値: 0
  • 最大値: 0.99

server-memory-limit-gc-trigger v6.6.0 の新機能

  • PD が GC をトリガーしようとするしきい値比率。PD のメモリ使用量がserver-memory-limit * server-memory-limit-gc-triggerの値に達すると、PD はGolang GC をトリガーします。1 分間にトリガーされる GC は 1 つだけです。
  • デフォルト値: 0.7
  • 最小値: 0.5
  • 最大値: 0.99

enable-gogc-tuner v6.6.0 の新機能

  • GOGC チューナーを有効にするかどうかを制御します。
  • デフォルト値: false

gc-tuner-threshold v6.6.0 の新機能

  • GOGC をチューニングするための最大メモリしきい値比。メモリがこのしきい値、つまりserver-memory-limitの値 * gc-tuner-thresholdの値を超えると、GOGC チューナーは動作を停止します。
  • デフォルト値: 0.6
  • 最小値: 0
  • 最大値: 0.9

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

  • デフォルト値: 3
  • PD はフロー番号の最下位桁を丸め、リージョンフロー情報の変更によって発生する統計の更新を減らします。この設定項目は、リージョンフロー情報の丸める最下位桁の数を指定するために使用されます。たとえば、フロー100512デフォルト値が3であるため101000に丸められます。この設定は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なります。

min-resolved-ts-persistence-interval v6.0.0 の新機能

  • 最小の解決済みタイムスタンプが PD に永続化される間隔を決定します。この値が0に設定されている場合、永続化は無効であることを意味します。
  • デフォルト値: v6.3.0 より前では、デフォルト値は"0s"です。v6.3.0 以降では、デフォルト値は"1s"で、これは最小の正の値です。
  • 最小値: 0
  • 単位: 秒

注記:

v6.0.0~v6.2.0 からアップグレードされたクラスターの場合、デフォルト値min-resolved-ts-persistence-intervalはアップグレード後も変更されず、 "0s"のままになります。この機能を有効にするには、この構成項目の値を手動で変更する必要があります。

安全

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

cacert-path

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

cert-path

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

key-path

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

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

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

log

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

level

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

format

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

disable-timestamp

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

log.file

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

max-size

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

max-days

  • ログが保存される最大日数
  • 構成項目が設定されていない場合、またはその値がデフォルト値 0 に設定されている場合、PD はログ ファイルをクリーンアップしません。
  • デフォルト値: 0

max-backups

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

metric

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

interval

  • 監視メトリックデータがPrometheusにプッシュされる間隔
  • デフォルト値: 15s

schedule

スケジュールに関連するコンフィグレーション項目

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

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

max-store-down-time

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

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

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

leader-schedule-limit

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

region-schedule-limit

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

enable-diagnostic v6.3.0 の新機能

  • 診断機能を有効にするかどうかを制御します。有効にすると、PD は診断に役立つようにスケジュール中の状態を記録します。有効にすると、スケジュール速度に若干影響し、ストアの数が多い場合にメモリ消費量が増える可能性があります。
  • デフォルト値: v7.1.0 以降では、デフォルト値がfalseからtrueに変更されます。クラスターが v7.1.0 より前のバージョンから v7.1.0 以降にアップグレードされた場合、デフォルト値は変更されません。

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-version v1に設定されている場合にのみ有効になります。
  • デフォルト値: 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
  • オプションの値: v1v2と比較すると、v2 の変更はよりスムーズになり、スペースの再利用によって発生するスケジュールのジッターが改善されます。

注記:

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

store-limit-version v7.1.0 の新機能

  • 店舗制限の計算式のバージョンを制御します
  • デフォルト値: v1
  • 値のオプション:
    • v1 : v1 モードでは、 store limitを手動で変更して、単一の TiKV のスケジュール速度を制限できます。
    • v2 : (実験的機能 ) v2 モードでは、PD が TiKV スナップショットの機能に基づいて動的に調整するため、 store limit値を手動で設定する必要はありません。詳細については、 ストア制限の原則 v2を参照してください。

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

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

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

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

注記:

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

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

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

replication

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

max-replicas

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

location-labels

isolation-level

strictly-match-label

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

enable-placement-rules

  • placement-rules有効にします。
  • デフォルト値: true
  • 配置ルール参照。

label-property

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

key

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

value

  • Leaderを拒否した店舗のラベル値
  • デフォルト値: ""

dashboard

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

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 ダッシュボードでテレメトリ収集機能を有効にするかどうかを決定します。
  • デフォルト値: false
  • 詳細はテレメトリー参照。

replication-mode

全リージョンのレプリケーションモードに関するコンフィグレーション項目です。詳細はDR自動同期モードを有効にするを参照してください。

コントローラ

このセクションでは、 PD for リソース管理に組み込まれている構成項目について説明します。

degraded-mode-wait-duration

  • 劣化モードをトリガーするまでの待機時間。劣化モードとは、ローカル トークン バケット (LTB) とグローバル トークン バケット (GTB) が失われた場合に、LTB がデフォルトのリソース グループ構成にフォールバックし、GTB 認証トークンがなくなるため、ネットワークの分離や異常が発生した場合でもサービスが影響を受けないことが保証されることを意味します。
  • デフォルト値: 0秒
  • デフォルトでは、劣化モードは無効になっています。

request-unit

リクエストユニット (RU)に関する設定項目は以下のとおりです。

read-base-cost

  • 読み取り要求から RU への変換の基礎係数
  • デフォルト値: 0.25

write-base-cost

  • 書き込み要求からRUへの変換の基礎係数
  • デフォルト値: 1

read-cost-per-byte

  • 読み取りフローからRUへの変換の基礎係数
  • デフォルト値: 1/(64 * 1024)
  • 1 RU = 64 KiB 読み取りバイト

write-cost-per-byte

  • 書き込みフローからRUへの変換の基礎係数
  • デフォルト値: 1/1024
  • 1 RU = 1 KiB 書き込みバイト

read-cpu-ms-cost

  • CPUからRUへの変換の基礎係数
  • デフォルト値: 1/3
  • 1 RU = 3 ミリ秒の CPU 時間

このページは役に立ちましたか?