tiup cluster patch
クラスターの実行中にサービスのバイナリを動的に置き換える必要がある場合 (つまり、置き換えプロセス中にクラスターを利用できるようにしておく必要がある場合)、 tiup cluster patchコマンドを使用できます。コマンドの実行後、TiUP は次のことを行います。
- 置換用のバイナリ パッケージをターゲット マシンにアップロードします。
 - ターゲット サービスが TiKV、TiFlash、TiDB Binlogなどのストレージ サービスである場合、TiUP はまず API を介して関連するノードをオフラインにします。
 - 対象のサービスを停止します。
 - バイナリ パッケージを展開し、サービスを置き換えます。
 - 対象のサービスを開始します。
 
構文
tiup cluster patch <cluster-name> <package-path> [flags]
<cluster-name>: 操作するクラスターの名前。<package-path>: 置換に使用されるバイナリ パッケージへのパス。
準備
次の手順に従って、このコマンドに必要なバイナリ パッケージを事前にパックする必要があります。
- 置き換えるコンポーネントの名前
${component}(tidb、tikv、pd...)、コンポーネントの${version}(v4.0.0、v4.0.1 ...)、およびオペレーティング システム${os}(linux) とプラットフォーム${arch}を特定します。コンポーネントが実行される場所。 - コマンド
wget https://tiup-mirrors.pingcap.com/${component}-${version}-${os}-${arch}.tar.gz -O /tmp/${component}-${version}-${os}-${arch}.tar.gzを使用して、現在のコンポーネント パッケージをダウンロードします。 mkdir -p /tmp/package && cd /tmp/packageを実行して、ファイルをパックするための一時ディレクトリを作成します。tar xf /tmp/${component}-${version}-${os}-${arch}.tar.gzを実行して、元のバイナリ パッケージを展開します。find .を実行して、一時パッケージ ディレクトリのファイル構造を表示します。- バイナリ ファイルまたは構成ファイルを、一時ディレクトリ内の対応する場所にコピーします。
 tar czf /tmp/${component}-hotfix-${os}-${arch}.tar.gz *を実行して、ファイルを一時ディレクトリにパックします。- 最後に、 
tiup cluster patchコマンドの<package-path>として/tmp/${component}-hotfix-${os}-${arch}.tar.gzを使用できます。 
オプション
--overwrite
- 特定のコンポーネント (TiDB や TiKV など) にパッチを適用した後、tiup クラスターがコンポーネントをスケールアウトすると、TiUP はデフォルトで元のコンポーネント バージョンを使用します。将来クラスターがスケールアウトするときにパッチを適用するバージョンを使用するには、コマンドでオプション
--overwriteを指定する必要があります。 - データ型: 
BOOLEAN - このオプションはデフォルトで無効になっており、値は
falseです。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を何も渡さないでください。 
--transfer-timeout
- PD または TiKV サービスを再起動する場合、TiKV/PD はまず再起動するノードのリーダーを別のノードに転送します。転送プロセスには時間がかかるため、オプション
--transfer-timeoutを使用して最大待機時間 (秒単位) を設定できます。タイムアウト後、TiUP はサービスを直接再起動します。 - データ型: 
UINT - このオプションが指定されていない場合、TiUP は
300秒待ってからサービスを直接再起動します。 
ノート:
タイムアウト後に TiUP がサービスを直接再起動すると、サービスのパフォーマンスが低下する可能性があります。
-N, --ノード
- 置き換えるノードを指定します。このオプションの値は、ノード ID のコンマ区切りリストです。 
tiup cluster displayコマンドで返されるクラスタ ステータス テーブルの最初の列からノード ID を取得できます。 - データ型: 
STRINGS - このオプションが指定されていない場合、TiUP はデフォルトで置き換えるノードを選択しません。
 
ノート:
オプション
-R, --roleが同時に指定された場合、TiUP は-N, --nodeと-R, --roleの両方の要件に一致するサービス ノードを置き換えます。
-R, --role
- 置き換える役割を指定します。このオプションの値は、ノードの役割のコンマ区切りリストです。 
tiup cluster displayコマンドで返されるクラスタ ステータス テーブルの 2 列目から、ノードにデプロイされているロールを取得できます。 - データ型: 
STRINGS - このオプションが指定されていない場合、TiUP はデフォルトで置き換えるロールを選択しません。
 
ノート:
オプション
-N, --nodeが同時に指定された場合、TiUP は-N, --nodeと-R, --roleの両方の要件に一致するサービス ノードを置き換えます。
--offline
- 現在のクラスターが実行されていないことを宣言します。このオプションが指定されている場合、TiUP はサービス リーダーを別のノードに追い出したり、サービスを再起動したりせず、クラスター コンポーネントのバイナリ ファイルのみを置き換えます。
 - データ型: 
BOOLEAN - このオプションはデフォルトで無効になっており、値は
falseです。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を何も渡さないでください。 
-h, --help
- ヘルプ情報を出力します。
 - データ型: 
BOOLEAN - このオプションはデフォルトで無効になっており、値は
falseです。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を何も渡さないでください。 
出力
tiup-clusterの実行ログ。