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-retentionperiodicの場合のメタ情報データベースの自動圧縮の時間間隔。圧縮モードが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 はフロー番号の最下位の桁を丸めます。これにより、リージョンフロー情報の変更によって引き起こされる統計の更新が削減されます。この設定項目は、リージョンフロー情報の四捨五入の最下位桁数を指定するために使用されます。たとえば、デフォルト値が3であるため、フロー100512 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-flowtrueの場合、アップグレード後の値flow-round-by-digit3になります。

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 証明書を含むプライバシー強化メール (PEM) ファイルのパス
  • デフォルト値: ""

key-path

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

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

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

log

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

level

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

format

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

disable-timestamp

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

log.file

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

max-size

  • 単一のログ ファイルの最大サイズ。この値を超えると、システムはログを自動的に複数のファイルに分割します。
  • デフォルト値: 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

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

max-snapshot-count

  • 単一ストアが同時に受信または送信するスナップショットの最大数を制御します。 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-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を参照してください。

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

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

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

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