重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

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、-node

  • 置き換えるノードを指定します。このオプションの値は、ノード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の実行ログ。

<<前のページに戻る-TiUPクラスターコマンドリスト