データサービスジョブやルートタスク用にRemote Engine v2.11.8以降をアップグレード - Cloud

Talend Cloudインストール&アップグレードガイド

Version
Cloud
Language
日本語
Operating system
Linux
Product
Talend Cloud
Module
Talend Artifact Repository
Talend Data Stewardship
Talend Management Console
Talend Remote Engine
Talend SAP RFC Server
Talend Studio
Content
インストールとアップグレード
Last publication date
2024-04-23

Remote Engineで実行中のデータサービスジョブやルートタスクをアンデプロイまたは再デプロイすることなく、そのエンジンをアップグレードできます。

マイクロサービスのタスクは最初のRemote Engineのシャットダウン時に自動的に停止し、新しいバージョンのRemote Engineの起動時に再開されます。

始める前に

  • アップグレードするRemote Engineがv2.11.8以降であること。v2.11.7以前のバージョンを使用している場合は、この手順を開始する前に、Talend Remote Engineをアップグレードの説明に従って最新バージョンにアップグレードしてください。
  • サービスアカウントを使ってこの操作を実行できるよう、サービスアカウントトークン(SAT)を生成します。このトークンの生成に関する詳細は、サービスアカウントトークンを生成をご覧ください。

    サービスアカウントの使用は、本番環境での自動化で広く受け入れられているセキュリティプラクティスです。パーソナルアクセストークン(PAT)の使用は技術的には可能ですが、セキュリティ強化のため、サービスアカウントの使用をお勧めします。

    パーソナルアクセストークンの生成に関する詳細は、パーソナルアクセストークンを生成をご覧ください。

  • 関連するAPIエンドポイントかTalend Management ConsoleのWebページを使って、アップグレードするエンジンのIDを収集します。
    • APIエンドポイント: Get available Remote Enginesをご覧ください。レスポンスでは、エンジンIDはidフィールドで見つかります。アップグレードするエンジンのIDをコピーし、後で使用できるよう所定の場所に保管しておきます。
    • Talend Management ConsoleのWebページ: Remote EngineのIDは、[Engine details] (エンジンの詳細)ブレードの[Overview] (概要)タブにあります。
      [Engine Details] (エンジンの詳細)ダイアログボックス
      そのエンジンがクラスター内にある場合、このURLは次のようになります。
      https://app.eu.cloud.talend.com/tmc/processing/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/info
      このケースでは、646c790a2373b74412c26047がIDとなります。

手順

  1. 特定のAPIエンドポイントかTalend Management ConsoleのWeb UIを使い、Talend Management Consoleの指定エンジン論理エンティティからアップグレードするRemote Engineのペアリングを解除します。

    • APIエンドポイント:
      curl -X DELETE "$RE_APFIRST_ENDPOINT/processing/runtimes/remote-engines/$RE_ENGINE_ID/pairing?keepOsgiDeployments=true&keepMicroserviceDeployments=true" -H "Authorization: Bearer $RE_TOKEN"
      次のコマンド:
      • $RE_APFIRST_ENDPOINTTalend Management ConsoleのURL (たとえばhttps://api.us.cloud.talend.com/)を表します。

        該当するリージョンのAPIエンドポイントURLについては、Endpoint regionsをご覧ください。

      • $RE_ENGINE_IDは、ペアリングを解除するエンジンのIDです。
      • $RE_TOKENは、サービスアカウントトークン(推奨)、または使用するアカウントのパーソナルアクセストークンです。
      コマンド内でこれらの変数を実際の値に置き換えるか、APIリクエストの環境で定義します。Talend API Testerを使ってAPIエンドポイントを発行する場合は、環境を作成で変数の定義方法をご覧ください。

      このコマンドを実行すると、新しい事前承認済みキーが自動的に生成されます。次の手順で新しいRemote Engineのペアリングに使用する必要があるため、このキーは指定の場所に保管してください。

    • Talend Management ConsoleのWebページ:この手順に従って、ペアリングを解除するエンジンの[Engine details] (エンジンの詳細)ブレードにある[Reset the connection] (接続をリセット)セクションを検索し、そのセクションで[Reset the key] (キーをリセット)をクリックしてエンジンのペアリングを解除して新しいペアリングキーを取得します。
  2. エンジンのペアリングが正しく解除されるよう、少なくとも2分間待ちます。

    エンジンログにある次のメッセージは、ペアリングの解除が正しく完了したことを示す例です。
    "re_state": "RETIRED"という行でエンジンの状態がリタイアしたことを示すログ。
  3. ペアリングが解除されたエンジンのホストマシンで、次のコマンドを使ってエンジンを停止します。
    <RemoteEngine_installation>/bin/stop
    このエンジンがシステムサービスとしてインストールされている場合は、OSの手順に従ってサービスを停止します。
  4. 新しいバージョンのRemote Engineをインストールして設定します。
    • インストーラーを使ってこの新しいエンジンをインストールする場合は、キーの入力を求められた時点でも実際の事前承認済みキーはまだ使わないでください。
    • 新しいエンジンをシステムサービスとしてインストールした場合は、次の手順に進む前にサービスを停止してください。
  5. 古いエンジンから新しいエンジンにデータをコピーします。
    このコピーは、データサービスのジョブタスクやルートタスクの継続的な実行に役立ちます。そのため、Remote Engineによって指定されるフォルダーに各タイプのデータをコピーします。
    1. Old_RemoteEngine_installation/data/dsrunnerフォルダーをコピーし、New_RemoteEngine_installation/data/に貼り付けます。
      このフォルダーにはタスク情報が含まれています。
    2. Old_RemoteEngine_installation/data/clsフォルダーをコピーし、New_RemoteEngine_installation/data/に貼り付けます。
      このフォルダーにはタスクログが含まれています。
    3. 新しいRemote EngineのNew_RemoteEngine_installation/data/dsrunner/exec/osgiにある各タスクフォルダーに保存されているそれぞれの.metadataファイルで、使用する新しいエンジンへのパスをアップデートします。

      osgiフォルダーコンテンツへのパス。

      たとえば、New_RemoteEngine_installation/data/dsrunner/osgi/02141bff-bffe-4975-8835-7dd9ff77b62aというフォルダーにある.metadataファイルを開き、使用するエンジンへのパスである次の行を検索します。
      "artifactFile":"Old_RemoteEngine_installation/data/dsrunner/exec/osgi/5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0/SimpleRecipientList_OSGI_0.1.0.20231303094541.kar"
      次に、これを新しいRemote Engineへのパスに置き換えます。
      "artifactFile":"New_RemoteEngine_installation/data/dsrunner/exec/osgi/5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0/SimpleRecipientList_OSGI_0.1.0.20231303094541.kar"
      Windowsの場合、これらのパスは次のようになります。
      RemoteEngine_installation\\data\\dsrunner\\exec\\osgi\\02141bff-bffe-4975-8835-7dd9ff77b62a\\ro_20230209_SimpleTimerRoute_801_OSGi_0.1.2.20232505013343.kar
    4. 新しいRemote Engineで、各実行のログファイルへのパスをアップデートします。
      この情報は、New_RemoteEngine_installation/data/clsに保存されているそれぞれの<TASKID>-<EXECUTION_ID>-state.datファイルにあります。

      たとえば、New_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-state.datファイルを開き、アップデートが必要なパスである次の行を検索します。
      "currentFilePath":"Old_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-2023-05-10-14-001.json.log"
      次に、これを新しいRemote Engineの新しいパスに置き換えます。
      "currentFilePath":"New_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-2023-05-10-14-001.json.log"
      Windowsの場合、このパスは次のようになります。
      "currentFilePath":"RemoteEngine_installation\\data\\cls\\647867abadf89464d65ab1f2-02141bff-bffe-4975-8835-7dd9ff77b62a-2023-06-01-11-001.json.log
  6. 新しいRemote Engineを、前に古いRemote Engineからペアリング解除したのと同じTalend Management Consoleのエンジン項目にペアリングします。
    1. New_RemoteEngine_installation/etc/org.talend.ipaas.rt.pairing.client.cfgファイルにある次の行で、Talend Management Consoleのペアリング用エンドポイントを指定します。
      pairing.service.url=https://pair.<your_datacenter>.cloud.talend.com

      使用する正確なエンドポイントURLについては、のリージョンとURLで、該当するリージョンのRemote Engineのペアリングに関するエントリーをご覧ください。

      インストーラーを使って新しいエンジンをインストールした場合は、エンドポイントが自動的に指定されているので、この手順は省略できます。

    2. New_RemoteEngine_installation/etc/preauthorized.key.cfgで、偽の事前承認済みキーを、この手順の最初にペアリング解除コールによって生成された実際のキーに置き換えます。
      この事前承認済みキーを紛失した場合は、Talend Management Consoleでペアリングするエンジン項目の[Remote Engine key] (Remote Engineキー)フィールドで検索してください。このキーを検索する方法は、Remote Engineを作成をご覧ください。
  7. 新しいRemote Engineを起動します。
    詳細は、Remote Engineを起動をご覧ください。

タスクの結果

Talend Management Consoleでデータサービスのジョブタスクとルートタスクが稼働していることをチェックして、タスクのステータスを確認します。ログもメトリクスも、そのようなすべてのタスクで利用できるようになります。