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

+10
h
L
b
qiancai

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

tick-interval

  • etcdの設定項目heartbeat-intervalに相当します。異なるPDノードに埋め込まれたetcdインスタンス間のRaftハートビート間隔を制御します。値を小さくすると障害検出が高速化されますが、ネットワーク負荷が増加します。
  • デフォルト値: 500ms

election-interval

  • etcdのelection-timeout設定項目に相当します。PDノードに組み込まれたetcdインスタンスの選出タイムアウトを制御します。etcdインスタンスがこの期間内に他のetcdインスタンスから有効なハートビートを受信しない場合、 Raft選出を開始します。
  • デフォルト値: 3000ms
  • この値はtick-interval 5倍以上でなければなりません。例えば、 tick-interval500ms場合、 election-interval 2500ms以上でなければなりません。

enable-prevote

  • etcdのpre-vote設定項目に相当します。PDノードに組み込まれたetcdがRaft事前投票を有効にするかどうかを制御します。有効にすると、etcdは追加の選挙フェーズを実行し、選挙に勝つのに十分な票数を得られるかどうかを確認します。これにより、サービスの中断を最小限に抑えることができます。
  • デフォルト値: true

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 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 6.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バージョン6.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バージョン5.0の新機能

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

log

ログ関連のコンフィグレーション項目

level

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

format

  • ログ形式
  • オプション"json" : "text"
  • デフォルト値: "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

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

注記:

scheduleに関連するこれらの PD 構成項目を変更するには、クラスターのステータスに基づいて次のいずれかの方法を選択します。

  • 新しくデプロイするクラスターの場合は、PD 構成ファイルを直接変更できます。
  • 既存のクラスターの場合は、コマンドラインツールPD Controlを使用して変更を加えてください。設定ファイル内のscheduleに関連するPD設定項目を直接変更しても、既存のクラスターには反映されません。

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バージョン6.1.0の新機能

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

leader-schedule-limit

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

region-schedule-limit

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

enable-diagnosticバージョン6.3.0の新機能

  • 診断機能を有効にするかどうかを制御します。有効にすると、PDは診断を支援するためにスケジューリング中の状態を記録します。有効にすると、スケジューリング速度に若干影響し、ストア数が多い場合にメモリ消費量が増加する可能性があります。
  • デフォルト値: バージョン7.1.0以降、デフォルト値はfalseからtrueに変更されます。クラスターをバージョン7.1.0より前のバージョンからバージョン7.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
  • オプション値: v1およびv2と比較して、v2 の変更はよりスムーズになり、スペースの再利用によって発生するスケジュールのジッターが改善されています。

注記:

クラスターをTiDB 4.0バージョンから最新バージョンにアップグレードした場合、アップグレード前後のPD動作の一貫性を確保するため、新しいFormulaバージョンはデフォルトで自動的に無効化されます。Formulaバージョンを変更する場合は、 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 の新機能

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

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

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

注記:

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

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

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

enable-heartbeat-breakdown-metrics v8.0.0 の新機能

  • リージョンハートビートの内訳メトリクスを有効にするかどうかを制御します。これらのメトリクスは、リージョンハートビート処理の各段階で消費された時間を測定し、監視による分析を容易にします。
  • デフォルト値: true

enable-heartbeat-concurrent-runnerバージョン8.0.0の新機能

  • リージョンハートビートの非同期同時処理を有効にするかどうかを制御します。有効にすると、独立したエグゼキューターがリージョンハートビートリクエストを非同期かつ同時に処理するため、ハートビート処理のスループットが向上し、レイテンシーが短縮されます。
  • デフォルト値: true

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 (非推奨)

reject-leader種類のみをサポートする、ラベルに関連するコンフィグレーション項目。

注記:

バージョン5.2以降、ラベル関連の設定項目は非推奨となりました。レプリカポリシーの設定には配置ルール使用することをお勧めします。

key (非推奨)

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

value (非推奨)

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

dashboard

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

disable-custom-prom-addr

  • TiDBダッシュボードでカスタム Prometheus データ ソース アドレスの構成を無効にするかどうか。
  • デフォルト値: false
  • trueに設定すると、TiDB ダッシュボードでカスタム Prometheus データ ソース アドレスを構成すると、TiDB ダッシュボードはエラーを報告します。

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

  • v8.1.0 より前では、この構成項目は TiDB ダッシュボードでテレメトリ収集を有効にするかどうかを制御します。
  • デフォルト値: false

replication-mode

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

コントローラ

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

degraded-mode-wait-duration

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

request-unit

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

read-base-cost

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

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時間

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