TiCDC をデプロイ

このドキュメントでは、TiCDC クラスターをデプロイする方法と、それをデプロイして実行するためのハードウェアとソフトウェアの推奨事項について説明します。 TiCDC を新しい TiDB クラスターと共にデプロイするか、TiCDC コンポーネントを既存の TiDB クラスターに追加することができます。一般に、TiUP を使用して TiCDC を展開することをお勧めします。また、必要に応じてバイナリを使用してデプロイすることもできます。

ソフトウェアとハードウェアの推奨事項

本番環境では、TiCDC のソフトウェアとハードウェアの推奨事項は次のとおりです。

Linux OSバージョン
レッドハット エンタープライズ リナックス7.3 以降のバージョン
CentOS7.3 以降のバージョン
CPUメモリーディスクタイプ通信網TiCDC クラスタ インスタンスの数 (本番環境の最小要件)
16コア+64GB以上SSD10ギガビットネットワークカード(2枚推奨)2

詳細については、 ソフトウェアおよびハードウェアの推奨事項を参照してください。

TiUP を使用して TiCDC を含む新しい TiDB クラスターをデプロイする

TiUP を使用して新しい TiDB クラスターをデプロイすると、TiCDC も同時にデプロイできます。 TiUP が TiDB クラスターを開始するために使用する初期化構成ファイルにcdc_serversセクションを追加するだけで済みます。詳細な操作については、 初期設定ファイルの編集を参照してください。構成可能なフィールドの詳細については、 cdc_serversを使用して cdc_server を構成するを参照してください。

TiUP を使用して既存の TiDB クラスターに TiCDC を追加する

TiUP を使用して、TiCDC コンポーネントを既存の TiDB クラスターに追加することもできます。次の手順を実行します。

  1. 現在の TiDB バージョンが TiCDC をサポートしていることを確認してください。それ以外の場合は、TiDB クラスターをv4.0.0-rc.1以降のバージョンにアップグレードする必要があります。 v4.0.6 以降、TiCDC は一般提供 (GA) の機能になりました。 v4.0.6 以降のバージョンを使用することをお勧めします。

  2. TiCDC をデプロイするには、 TiCDC クラスターをスケールアウトするを参照してください。

PD クラスターに、サービスを提供できる PD ノード (クライアント URL は10.0.10.25:2379 ) があるとします。 3 つの TiCDC ノードをデプロイする場合は、次のコマンドを実行して TiCDC クラスターを起動します。同じ PD アドレスを指定するだけで、新しく開始されたノードが自動的に TiCDC クラスターに参加します。

cdc server --cluster-id=default --pd=http://10.0.10.25:2379 --log-file=ticdc_1.log --addr=0.0.0.0:8301 --advertise-addr=127.0.0.1:8301 cdc server --cluster-id=default --pd=http://10.0.10.25:2379 --log-file=ticdc_2.log --addr=0.0.0.0:8302 --advertise-addr=127.0.0.1:8302 cdc server --cluster-id=default --pd=http://10.0.10.25:2379 --log-file=ticdc_3.log --addr=0.0.0.0:8303 --advertise-addr=127.0.0.1:8303

TiCDC cdc serverのコマンドライン パラメータの説明

以下は、 cdc serverコマンドで使用可能なオプションの説明です。

  • addr : TiCDC のリッスン アドレス、HTTP API アドレス、および TiCDC サービスの Prometheus アドレス。デフォルト値は127.0.0.1:8300です。
  • advertise-addr : クライアントが TiCDC にアクセスするために使用するアドバタイズされたアドレス。指定しない場合、値はaddrの値と同じです。
  • pd : PD エンドポイントのコンマ区切りリスト。
  • config : TiCDC が使用する構成ファイルのアドレス (オプション)。このオプションは、TiCDC v5.0.0 以降でサポートされています。このオプションは、TiUP v1.4.0 以降の TiCDC 展開で使用できます。
  • data-dir : ファイルを格納するためにディスクを使用する必要がある場合に TiCDC が使用するディレクトリを指定します。 Unified Sorter は、このディレクトリを使用して一時ファイルを保存します。このディレクトリの空きディスク容量が 500 GiB 以上であることを確認することをお勧めします。詳細については、 ユニファイドソーターを参照してください。 TiUP を使用している場合は、 cdc_serversセクションでdata_dirを構成するか、 globalでデフォルトのdata_dirパスを直接使用できます。
  • gc-ttl : TiCDC によって設定された PD のサービス レベルGC safepointの TTL (Time To Live) と、レプリケーション タスクが中断できる期間 (秒単位)。デフォルト値は86400で、これは 24 時間を意味します。注: TiCDC レプリケーション タスクの一時停止は、TiCDC GC セーフポイントの進行状況に影響を与えます。つまり、 TiCDC GC セーフポイントの完全な動作で詳述されているように、上流の TiDB GC の進行状況に影響を与えます。
  • log-file : TiCDC プロセスの実行時にログが出力されるパス。このパラメーターが指定されていない場合、ログは標準出力 (stdout) に書き込まれます。
  • log-level : TiCDC プロセスが実行されているときのログ レベル。デフォルト値は"info"です。
  • ca : TLS 接続用の PEM 形式の CA 証明書ファイルのパスを指定します (オプション)。
  • cert : TLS 接続用の PEM 形式の証明書ファイルのパスを指定します (オプション)。
  • cert-allowed-cn : TLS 接続の共通名のパスを PEM 形式で指定します (オプション)。
  • key : TLS 接続用の PEM 形式の秘密鍵ファイルのパスを指定します (オプション)。
  • tz : TiCDC サービスが使用するタイムゾーン。 TiCDC は、 TIMESTAMPなどの時間データ タイプを内部で変換するとき、またはデータをダウンストリームにレプリケートするときに、このタイム ゾーンを使用します。デフォルトは、プロセスが実行されるローカル タイム ゾーンです。 time-zone ( sink-uri ) とtzを同時に指定すると、内部の TiCDC プロセスはtzで指定されたタイム ゾーンを使用し、シンクはtime-zoneで指定されたタイム ゾーンを使用してデータをダウンストリームにレプリケートします。
  • cluster-id : (オプション) TiCDC クラスターの ID。デフォルト値はdefaultです。 cluster-idは、TiCDC クラスターの一意の識別子です。同じcluster-idの TiCDC ノードは同じクラスターに属しています。 cluster-idの長さは最大 128 文字です。 cluster-id^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$のパターンに従う必要があり、次のいずれかにすることはできません: ownercapturetaskchangefeedjob 、およびmeta

TiUP を使用した TiCDC のローリング アップグレード

v6.3.0 から、TiCDC は TiUP を使用したローリング アップグレードをサポートします。この機能は、TiCDC レプリケーションのレイテンシーを大幅な変動なしに安定した範囲内に維持するのに役立ちます。ローリング アップグレードを実行するには、次のことを確認します。

  • 少なくとも 2 つの TiCDC インスタンスがクラスターで実行されています。
  • TiUP のバージョンは v1.11.0 以降です。

上記の条件が満たされている場合は、 tiup cluster upgradeコマンドを実行してクラスターのローリング アップグレードを実行できます。

tiup cluster upgrade test-cluster ${target-version} --transfer-timeout 600