地理的に分散された展開トポロジ
このドキュメントでは、2 つの都市にある 3 つのデータ センター (DC) の典型的なアーキテクチャを例として取り上げ、地理的に分散した展開アーキテクチャと主要な構成を紹介します。この例で使用されている都市は、上海 ( sha
と呼ばれる) と北京 ( bja
とbjb
と呼ばれる) です。
トポロジ情報
実例 | カウント | 物理マシン構成 | BJ IP | 輸送する | Configuration / コンフィグレーション |
---|---|---|---|---|---|
TiDB | 5 | 16 仮想コア 32GB * 1 | 10.0.1.1 10.0.1.2 10.0.1.3 10.0.1.4 | 10.0.1.5 | デフォルトのポート グローバル ディレクトリの構成 |
PD | 5 | 4 Vコア 8GB * 1 | 10.0.1.6 10.0.1.7 10.0.1.8 10.0.1.9 | 10.0.1.10 | デフォルトのポート グローバル ディレクトリの構成 |
TiKV | 5 | 16 仮想コア 32GB 2TB (nvme ssd) * 1 | 10.0.1.11 10.0.1.12 10.0.1.13 10.0.1.14 | 10.0.1.15 | デフォルトのポート グローバル ディレクトリの構成 |
監視とGrafana | 1 | 4 仮想コア 8GB * 1 500GB (ssd) | 10.0.1.16 | デフォルトのポート グローバル ディレクトリの構成 |
トポロジ テンプレート
上記の TiDB クラスター トポロジ ファイルの構成項目の詳細な説明については、 TiUP を使用して TiDB をデプロイするためのトポロジConfiguration / コンフィグレーションファイルを参照してください。
主なパラメータ
このセクションでは、TiDB の地理的分散配置の主要なパラメーター構成について説明します。
TiKV パラメータ
gRPC 圧縮形式 (デフォルトでは
none
):地理的に分散されたターゲット ノード間の gRPC パッケージの転送速度を上げるには、このパラメーターを
gzip
に設定します。server.grpc-compression-type: gzipラベル構成:
TiKV は異なるデータ センターに展開されるため、物理マシンがダウンすると、 Raftグループはデフォルトの 5 つのレプリカのうち 3 つを失い、クラスターが使用できなくなる可能性があります。この問題に対処するには、PD のスマート スケジューリングを有効にするようにラベルを構成できます。これにより、 Raftグループが、同じデータ センターの同じキャビネット内の同じマシン上の TiKV インスタンスに 3 つのレプリカを配置することを許可しなくなります。
TiKV 構成:
同じ物理マシンに対して、同じホスト レベルのラベル情報が構成されています。
config: server.labels: zone: bj dc: bja rack: rack1 host: host2リモート TiKV ノードが不要なRaft選出を開始するのを防ぐには、リモート TiKV ノードが選出を開始するために必要なティックの最小数と最大数を増やす必要があります。デフォルトでは、2 つのパラメータは
0
に設定されています。raftstore.raft-min-election-timeout-ticks: 1000 raftstore.raft-max-election-timeout-ticks: 1020
PD パラメータ
PD メタデータ情報は、TiKV クラスターのトポロジーを記録します。 PD は、次の 4 つのディメンションでRaftグループのレプリカをスケジュールします。
replication.location-labels: ["zone","dc","rack","host"]クラスターの高可用性を確保するには、 Raftグループ レプリカの数を
5
に調整します。replication.max-replicas: 5リモートの TiKV Raftレプリカがリーダーとして選出されることを禁止します。
label-property: reject-leader: - key: "dc" value: "sha"ノート:
TiDB 5.2 以降、デフォルトでは
label-property
構成はサポートされていません。レプリカ ポリシーを設定するには、 配置ルールを使用します。
ラベルとRaftグループ レプリカの数についての詳細は、 トポロジ ラベルごとにレプリカをスケジュールするを参照してください。
ノート:
- 構成ファイルで
tidb
ユーザーを手動で作成する必要はありません。 TiUP クラスター コンポーネントは、ターゲット マシンにtidb
ユーザーを自動的に作成します。ユーザーをカスタマイズしたり、ユーザーと制御マシンとの一貫性を保つことができます。- 展開ディレクトリを相対パスとして構成すると、クラスターはユーザーのホーム ディレクトリに展開されます。