Remote Engineで実行中のデータサービスジョブやルートタスクをアンデプロイまたは再デプロイすることなく、そのエンジンをアップグレードできます。
マイクロサービスのタスクは最初のRemote Engineのシャットダウン時に自動的に停止し、新しいバージョンのRemote Engineの起動時に再開されます。
手順
-
特定のAPIエンドポイントを使い、次のコマンドを実行して、Talend Cloud Management Consoleで指定されたエンジン項目からアップグレードするRemote Engineのペアリングを解除します。
エンジンのペアリング解除ではTalend Cloud Management ConsoleのWeb UIを使わないようにしてください。次のエンドポイントを排他的に使用します。
例
curl -X DELETE "$RE_APFIRST_ENDPOINT/processing/runtimes/remote-engines/$RE_ENGINE_ID/pairing?keepOsgiDeployments=true&keepMicroserviceDeployments=true" -H "Authorization: Bearer $RE_TOKEN"
次のコマンド:
コマンド内でこれらの変数を実際の値に置き換えるか、APIリクエストの環境で定義します。
Talend API Testerを使ってAPIエンドポイントを発行する場合は、
環境を作成で変数の定義方法をご覧ください。
このコマンドを実行すると、新しい事前承認済みキーが自動的に生成されます。次の手順で新しいRemote Engineのペアリングに使用する必要があるため、このキーは指定の場所に保管してください。
-
エンジンのペアリングが正しく解除されるよう、少なくとも2分間待ちます。
例
エンジンログにある次のメッセージは、ペアリングの解除が正しく完了したことを示す例です。
-
ペアリングが解除されたエンジンのホストマシンで、次のコマンドを使ってエンジンを停止します。
<RemoteEngine_installation>/bin/stop
このエンジンがシステムサービスとしてインストールされている場合は、OSの手順に従ってサービスを停止します。
-
新しいバージョンのRemote Engineをインストールして設定します。
- インストーラーを使ってこの新しいエンジンをインストールする場合は、キーの入力を求められた時点でも実際の事前承認済みキーはまだ使わないでください。
- 新しいエンジンをシステムサービスとしてインストールした場合は、次の手順に進む前にサービスを停止してください。
-
古いエンジンから新しいエンジンにデータをコピーします。
このコピーは、データサービスのジョブタスクやルートタスクの継続的な実行に役立ちます。そのため、Remote Engineによって指定されるフォルダーに各タイプのデータをコピーします。
-
Old_RemoteEngine_installation/data/のdsrunnerフォルダーをコピーし、New_RemoteEngine_installation/data/に貼り付けます。
このフォルダーにはタスク情報が含まれています。
-
Old_RemoteEngine_installation/data/のclsフォルダーをコピーし、New_RemoteEngine_installation/data/に貼り付けます。
このフォルダーにはタスクログが含まれています。
-
新しいRemote EngineのNew_RemoteEngine_installation/data/dsrunner/exec/osgiにある各タスクフォルダーに保存されているそれぞれの.metadataファイルで、使用する新しいエンジンへのパスをアップデートします。
例
たとえば、
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
-
新しい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
-
新しいRemote Engineを、前に古いRemote Engineからペアリング解除したのと同じTalend Cloud Management Consoleのエンジン項目にペアリングします。
-
New_RemoteEngine_installation/etc/org.talend.ipaas.rt.pairing.client.cfgファイルにある次の行で、Talend Cloud Management Consoleのペアリング用エンドポイントを指定します。
pairing.service.url=https://pair.<your_datacenter>.cloud.talend.com
使用する正確なエンドポイントURLについては、のリージョンとURLで、該当するリージョンのRemote Engineのペアリングに関するエントリーをご覧ください。
インストーラーを使って新しいエンジンをインストールした場合は、エンドポイントが自動的に指定されているので、この手順は省略できます。
-
New_RemoteEngine_installation/etc/preauthorized.key.cfgで、偽の事前承認済みキーを、この手順の最初にペアリング解除コールによって生成された実際のキーに置き換えます。
この事前承認済みキーを紛失した場合は、
Talend Cloud Management Consoleでペアリングするエンジン項目の
[Remote Engine key] (Remote Engineキー)フィールドで検索してください。このキーを検索する方法は、
Remote Engineを作成をご覧ください。
-
新しいRemote Engineを起動します。
タスクの結果
Talend Cloud Management Consoleでデータサービスのジョブタスクとルートタスクが稼働していることをチェックして、タスクのステータスを確認します。ログもメトリクスも、そのようなすべてのタスクで利用できるようになります。