tiup cluster patch

クラスターの実行中にサービスのバイナリを動的に置き換える必要がある場合 (つまり、置き換えプロセス中にクラスターを利用できるようにしておく必要がある場合)、 tiup cluster patchコマンドを使用できます。コマンドの実行後、 TiUP は次のことを行います。

  • 置換用のバイナリ パッケージをターゲット マシンにアップロードします。
  • ターゲット サービスが TiKV、 TiFlash、TiDB Binlogなどのstorageサービスの場合、 TiUP はまず API を介して関連するノードをオフラインにします。
  • 対象のサービスを停止します。
  • バイナリ パッケージを展開し、サービスを置き換えます。
  • 対象のサービスを開始します。

構文

tiup cluster patch <cluster-name> <package-path> [flags]
  • <cluster-name> : 操作するクラスターの名前。
  • <package-path> : 置換に使用されるバイナリ パッケージへのパス。

準備

tiup cluster patchコマンドを実行する前に、必要なバイナリ パッケージをパックする必要があります。次の手順を実行します。

  1. 次の変数を決定します。

    • ${component} : 置き換えられるコンポーネントの名前 ( tidbtikv 、またはpdなど)。
    • ${version} :コンポーネントのバージョン ( v6.5.2など)。
    • ${os} : オペレーティング システム ( linux )。
    • ${arch} :コンポーネントが実行されるプラットフォーム ( amd64arm64 )。
  2. 次のコマンドを使用して、現在のコンポーネントパッケージをダウンロードします。

    wget https://tiup-mirrors.pingcap.com/${component}-${version}-${os}-${arch}.tar.gz -O /tmp/${component}-${version}-${os}-${arch}.tar.gz
  3. ファイルをパックするための一時ディレクトリを作成し、そこに移動します。

    mkdir -p /tmp/package && cd /tmp/package
  4. 元のバイナリ パッケージを抽出します。

    tar xf /tmp/${component}-${version}-${os}-${arch}.tar.gz
  5. 一時ディレクトリのファイル構造を確認します。

    find .
  6. バイナリ ファイルまたは構成ファイルを、一時ディレクトリ内の対応する場所にコピーします。

  7. すべてのファイルを一時ディレクトリにパックします。

    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の実行ログ。

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

このページは役に立ちましたか?