このページでは、インスタンスまたはバッチ パイプラインのバージョンをアップグレードする方法について説明します。
Cloud Data Fusion のインスタンスとバッチ パイプラインを最新のプラットフォームとプラグインのバージョンにアップグレードして、最新の機能、バグの修正、パフォーマンスの改善を実現します。
始める前に
- アップグレードのために計画的ダウンタイムを設定します。 この処理には最大で 1 時間ほどかかります。
-
コンソールで Cloud Shell をアクティブにします。 Google Cloud
制限事項
Cloud Data Fusion インスタンスを作成した後では、アップグレード オペレーションを行ってもエディションを変更できません。
Terraform でアップグレードをトリガーしないでください。インプレース アップグレードではなく、インスタンスを削除して再作成するためです。この問題により、インスタンス内の既存のデータが失われます。
Cloud Data Fusion は、アップグレード オペレーションの結果として停止したパイプラインを再起動しません。
6.11.0 より前のバージョンからインスタンスをアップグレードする場合は、特にインスタンスが大量のデータを処理している場合、アップグレードのダウンタイムが長くなる可能性があります。
Kafka リアルタイム ソースを使用してバージョン 6.8.0 で作成されたパイプラインを除き、リアルタイム パイプラインのアップグレードはサポートされていません。回避策については、 リアルタイム パイプラインのアップグレードをご覧ください。
Cloud Data Fusion インスタンスをアップグレードする
Cloud Data Fusion インスタンスを新しい Cloud Data Fusion バージョンにアップグレードするには、[インスタンスの詳細] ページに移動します。
In the Google Cloud console, go to the Cloud Data Fusion page.
Click Instances, and then click the instance's name to go to the Instance details page.
次に、 Google Cloud コンソールまたは gcloud CLI を使用してアップグレードを実行します。
コンソール
[アップグレード] をクリックして、使用可能なバージョンのリストを表示します。
バージョンを選択してください
[アップグレード] をクリックします。
アップグレードが成功したことを確認します。
[インスタンスの詳細] ページを更新します。
[インスタンスを表示] をクリックして、Cloud Data Fusion ウェブ インターフェースでアップグレードされたインスタンスにアクセスします。
メニューバーの [システム管理者] をクリックします。
新しいバージョン番号がページ上部に表示されます。
新しいバージョンでパイプラインの実行時にパイプラインが動けなくなるのを防ぐために、アップグレードされたインスタンスで必要なロールを付与します。
gcloud
新しい Cloud Data Fusion バージョンにアップグレードするには、ローカルのターミナルの Cloud Shell セッションから次の gcloud CLI コマンドを実行します。
gcloud beta data-fusion instances update INSTANCE_ID \ --project=PROJECT_ID \ --location=LOCATION_NAME \ --version=AVAILABLE_INSTANCE_VERSION省略可: インスタンスに該当する場合は、
--enable_stackdriver_logging、--enable_stackdriver_monitoring、--labelsフラグを追加します。省略可:
enable.unrecoverable.resetなどの CDAP プロパティを--optionsとして渡すことができます。
次の手順でアップグレードが成功したことを確認します。
コンソールで、Cloud Data Fusion の [インスタンス] ページに移動します。 Google Cloud
[インスタンスを表示] をクリックして、Cloud Data Fusion ウェブ インターフェースでアップグレードされたインスタンスにアクセスします。
メニューバーの [システム管理者] をクリックします。
新しいバージョン番号がページ上部に表示されます。
新しいバージョンでパイプラインの実行時にパイプラインが動けなくなるのを防ぐために、アップグレードされたインスタンスで必要なロールを付与します。
バッチ パイプラインをアップグレードする
Cloud Data Fusion バッチ パイプラインをアップグレードして最新のプラグイン バージョンを使用するには:
推奨: すべてのパイプラインをバックアップします。パイプラインは次のいずれかの方法でバックアップできます。
次の手順で zip ファイルをダウンロードします。
- zip ファイルのダウンロードをトリガーするには、次のコマンドですべてのパイプラインをバックアップします。
echo $CDAP_ENDPOINT/v3/export/apps- 出力された URL をブラウザにコピーします。
- ダウンロードしたファイルを展開し、すべてのパイプラインがエクスポートされたことを確認します。パイプラインは名前空間により整理されます。
バージョン 6.9 以降で利用可能な ソース コントロール管理(SCM)を使用してパイプラインをバックアップします。SCM には GitHub 統合が用意されており、これを使用してパイプラインをバックアップできます。
次の手順でパイプラインをアップグレードします。
次のステップで使用する
pipeline_upgrade.jsonファイルを指す変数を作成し、パイプラインのリストを保存します。export PIPELINE_LIST=PATH/pipeline_upgrade.jsonPATH は、ファイルのパスに置き換えます。
次のコマンドを使用して、インスタンスと名前空間のすべてのパイプラインのリストを作成します。結果は
JSON形式で$PIPELINE_LISTファイルに保存されます。リストを編集して、アップグレードする必要のないパイプラインを削除できます。curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps -o $PIPELINE_LISTNAMESPACE_ID は、アップグレードを実行する名前空間に置き換えます。
pipeline_upgrade.jsonにリストされているパイプラインをアップグレードします。アップグレードするパイプラインの NAMESPACE_ID を挿入します。アップグレードされたパイプラインのリストが、アップグレード ステータスとともに表示されます。curl -N -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/upgrade --data @$PIPELINE_LISTNAMESPACE_ID は、アップグレードするパイプライン名前空間 ID に置き換えます。
新しいバージョンでパイプラインの実行時にパイプラインが動けなくなるのを防ぐために、アップグレードされたインスタンスで必要なロールを付与します。
リアルタイム パイプラインをアップグレードする
Kafka リアルタイム ソースを使用してバージョン 6.8.0 で作成されたパイプラインを除き、リアルタイム パイプラインのアップグレードはサポートされていません。
それ以外の場合は、次の操作を行います。
- パイプラインを停止してエクスポートします。
- インスタンスをアップグレードします。
- アップグレードしたインスタンスにリアルタイム パイプラインをインポートします。
アップグレードによりレプリケーションを有効にする
レプリケーションは、バージョン 6.3.0 以降の Cloud Data Fusion 環境で有効にできます。バージョン 6.2.3 を使用している場合は、6.3.0 にアップグレードしてから、最新バージョンにアップグレードします。これで、レプリケーションを有効にできます。
アップグレードされたインスタンスにロールを付与する
アップグレードが完了したら、
Cloud Data Fusion ランナーのロール
(roles/datafusion.runner)と
Cloud Storage 管理者のロール
(roles/storage.admin)をプロジェクト内の Managed Service for Apache Spark サービス アカウントに付与します。
次のステップ
- パッチ リビジョンを管理する Cloud Data Fusion インスタンスの。
- Cloud Data Fusion のバージョン管理について学習する。
- 利用可能なバージョンとパッチ リビジョンのアップグレードを確認する。
- アップグレードのトラブルシューティング。