TiCDC をデプロイ
このドキュメントでは、TiCDC クラスターをデプロイする方法と、それをデプロイして実行するためのハードウェアとソフトウェアの推奨事項について説明します。 TiCDC を新しい TiDB クラスターと共にデプロイするか、TiCDC コンポーネントを既存の TiDB クラスターに追加することができます。一般に、TiUP を使用して TiCDC を展開することをお勧めします。また、必要に応じてバイナリを使用してデプロイすることもできます。
ソフトウェアとハードウェアの推奨事項
本番環境では、TiCDC のソフトウェアとハードウェアの推奨事項は次のとおりです。
Linux OS | バージョン |
---|---|
レッドハット エンタープライズ リナックス | 7.3 以降のバージョン |
CentOS | 7.3 以降のバージョン |
CPU | メモリー | ディスクタイプ | 通信網 | TiCDC クラスタ インスタンスの数 (本番環境の最小要件) |
---|---|---|---|---|
16コア+ | 64GB以上 | SSD | 10ギガビットネットワークカード(2枚推奨) | 2 |
詳細については、 ソフトウェアおよびハードウェアの推奨事項を参照してください。
TiUP を使用して TiCDC を含む新しい TiDB クラスターをデプロイする
TiUP を使用して新しい TiDB クラスターをデプロイすると、TiCDC も同時にデプロイできます。 TiUP が TiDB クラスターを開始するために使用する初期化構成ファイルにcdc_servers
セクションを追加するだけで済みます。詳細な操作については、 初期設定ファイルの編集を参照してください。構成可能なフィールドの詳細については、 cdc_servers
を使用して cdc_server を構成するを参照してください。
TiUP を使用して既存の TiDB クラスターに TiCDC を追加する
TiUP を使用して、TiCDC コンポーネントを既存の TiDB クラスターに追加することもできます。次の手順を実行します。
現在の TiDB バージョンが TiCDC をサポートしていることを確認してください。それ以外の場合は、TiDB クラスターを
v4.0.0-rc.1
以降のバージョンにアップグレードする必要があります。 v4.0.6 以降、TiCDC は一般提供 (GA) の機能になりました。 v4.0.6 以降のバージョンを使用することをお勧めします。TiCDC をデプロイするには、 TiCDC クラスターをスケールアウトするを参照してください。
バイナリを使用して TiCDC を既存の TiDB クラスターに追加する (非推奨)
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]+)*$
のパターンに従う必要があり、次のいずれかにすることはできません:owner
、capture
、task
、changefeed
、job
、および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