地理的に分散した展開トポロジ
このドキュメントでは、2つの都市に3つのデータセンター(DC)を配置した典型的なアーキテクチャを例に、地理的に分散したデプロイメントアーキテクチャと主要な構成について説明します。この例で使用する都市は、上海( sha
)と北京( bja
とbjb
)です。
トポロジ情報
実例 | カウント | 物理マシン構成 | BJ IP | 船 | コンフィグレーション |
---|---|---|---|---|---|
TiDB | 5 | 16 VCore 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 VCore 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 VCore 32GB 4TB (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 VCore 8GB * 1 500GB (SSD) | 10.0.1.16 | デフォルトポート グローバルディレクトリ構成 |
注記:
インスタンスのIPアドレスは例としてのみ示されています。実際の導入では、IPアドレスを実際のIPアドレスに置き換えてください。
トポロジテンプレート
上記の TiDB クラスター トポロジ ファイルの構成項目の詳細については、 TiUPを使用して TiDB をデプロイするためのトポロジコンフィグレーションファイル参照してください。
主なパラメータ
このセクションでは、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: 50 raftstore.raft-max-election-timeout-ticks: 60
注記:
TiKVノードの選出タイムアウト値を
raftstore.raft-min-election-timeout-ticks
とraftstore.raft-max-election-timeout-ticks
大きく設定すると、そのノード上のリージョンがリーダーになる可能性が大幅に低下します。ただし、一部のTiKVノードがオフラインになり、残りのアクティブなTiKVノードのRaftログが遅延しているような災害シナリオでは、このTiKVノード上の選出タイムアウト値が大きいリージョンのみがリーダーになることができます。このTiKVノード上のリージョンは、選出を開始する前に少なくともraftstore.raft-min-election-timeout-ticks
で設定された期間待機する必要があるため、このようなシナリオではクラスターの可用性への影響を防ぐため、これらの値を過度に大きく設定しないことをお勧めします。
PDパラメータ
PD メタデータ情報には、TiKV クラスターのトポロジが記録されます。PD は、次の 4 つの次元に基づいてRaftグループのレプリカをスケジュールします。
replication.location-labels: ["zone","dc","rack","host"]クラスターの高可用性を確保するには、 Raftグループのレプリカの数を
5
に調整します。replication.max-replicas: 5リモート TiKVRaftレプリカがLeaderとして選出されることを禁止します。
label-property: reject-leader: - key: "dc" value: "sha"注記:
TiDB 5.2以降、
label-property
構成はデフォルトではサポートされません。レプリカポリシーを設定するには、 配置ルール使用してください。
ラベルとRaftグループのレプリカの数に関する詳細については、 トポロジラベルによるレプリカのスケジュール参照してください。
注記:
- 設定ファイルに
tidb
ユーザーを手動で作成する必要はありません。TiUPTiUPコンポーネントは、ターゲットマシンにtidb
ユーザーを自動的に作成します。ユーザーをカスタマイズすることも、コントロールマシンと同じユーザーを維持することもできます。- デプロイメント ディレクトリを相対パスとして構成すると、クラスターはユーザーのホーム ディレクトリにデプロイされます。