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-retention
がperiodic
の場合のメタ情報データベースの自動圧縮の時間間隔。圧縮モードが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
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
。 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
- TiKV クラスターのトポロジー情報
- デフォルト値:
[]
- クラスタトポロジ構成
isolation-level
- TiKV クラスターの最小トポロジー分離レベル
- デフォルト値:
""
- クラスタトポロジ構成
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
であるため、フロー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-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 自動同期モードを有効にするを参照してください。