tiup dm patch

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

  • 置換用のバイナリ パッケージをターゲット マシンにアップロードします。
  • API を使用して、関連するノードをオフラインにします。
  • 対象のサービスを停止します。
  • バイナリ パッケージを展開し、サービスを置き換えます。
  • 対象のサービスを開始します。

構文

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

準備

次の手順に従って、このコマンドに必要なバイナリ パッケージを事前にパックする必要があります。

  • 置き換えるコンポーネントの名前${component} (dm-master、dm-worker ...)、コンポーネントの名前${version} (v2.0.0、v2.0.1 ...)、オペレーティング システム${os}およびプラットフォーム${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 dm patchコマンドで<package-path>の値として/tmp/${component}-hotfix-${os}-${arch}.tar.gzを使用できます。

オプション

--overwrite

  • 特定のコンポーネント (dm-worker など) にパッチを適用した後、tiup-dm がコンポーネントをスケールアウトすると、tiup-dm はデフォルトで元のコンポーネント バージョンを使用します。将来クラスターがスケールアウトするときにパッチを適用するバージョンを使用するには、コマンドでオプション--overwriteを指定する必要があります。
  • データ型: BOOLEAN
  • このオプションはデフォルトで無効になっており、値はfalseです。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を何も渡さないでください。

-N, --ノード

  • 置き換えるノードを指定します。このオプションの値は、ノード ID のコンマ区切りリストです。ノード ID は、 [tiup dm display](/tiup/tiup-component-dm-display.md)コマンドによって返されるクラスター ステータス テーブルの最初の列から取得できます。
  • データ型: STRING
  • このオプションが指定されていない場合、TiUP はデフォルトで置換するすべてのノードを選択します。

ノート:

オプション-R, --roleが同時に指定された場合、TiUP は-N, --node-R, --roleの両方の要件に一致するサービス ノードを置き換えます。

-R, --role

  • 置き換える役割を指定します。このオプションの値は、ノードの役割のコンマ区切りリストです。ノードの役割は、 [tiup dm display](/tiup/tiup-component-dm-display.md)コマンドで返されるクラスター ステータス テーブルの 2 番目の列から取得できます。
  • データ型: STRING
  • このオプションが指定されていない場合、TiUP はデフォルトで置換するすべてのロールを選択します。

ノート:

オプション-N, --nodeが同時に指定された場合、TiUP は-N, --node-R, --roleの両方の要件に一致するサービス ノードを置き換えます。

--offline

  • 現在のクラスターがオフラインであることを宣言します。このオプションを指定すると、 TiUP DMはサービスを再起動せずに、クラスタ コンポーネントのバイナリ ファイルのみを置き換えます。

-h, --help

  • ヘルプ情報を出力します。
  • データ型: BOOLEAN
  • このオプションはデフォルトで無効になっており、値はfalseです。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を何も渡さないでください。

出力

tiup-dm の実行ログです。

<< 前のページに戻る - TiUP DMコマンド一覧