メイン コンテンツをスキップする 補完的コンテンツへスキップ

エンジンメモリと同時実行数の設定

Remote Engine Gen2は、8GBのメモリが割り当てられた状態で動作するよう設定されています。これは、エンジンで同時に発生しうるパイプラインやプレパレーションの実行数に影響します。

実行エラー

あまりにも多くの実行要求数を受信したエンジンでは、多くのパイプライン実行が受け入れられる一方、最後のいくつかがリジェクトされることがあります。その場合は次のエラーが表示されます:
Cannot submit pipeline <PIPELINE_NAME>, too many Livy sessions are used. 

<PIPELINE_NAME>はお使いのパイプラインの名前です。

安全上の理由から同時パイプライン実行数は制限されていますが、この制限数はRemote Engine Gen2で設定できます。

同時実行数を設定する

そのためには、次のファイルを開いて編集します:
  • <engine_directory>/default/.env - AWS米国、AWS欧州、AWSアジアパシフィック、Azureリージョンでエンジンを使用している場合
  • <engine_directory>/eap/.env - Early Adopter Program (早期導入者プログラム)の一部としてエンジンを使用している場合
次の行をチェックします。
LIVY_SERVER_SESSION_MAX_CREATION=<NB_SLOTS>
お使いのエンジンが稼働しているマシンで利用できるリソースに応じてこの値を変更します。この値は次の式に相当し、特定の量のメモリのみがパイプラインの実行専用となり、残りはエンジンの他のサービスで使用されるようになります。
LIVY_SERVER_SESSION_MAX_CREATION=(memory - 4)/spark.driver.memory

ここでmemoryはエンジンに割り当てられたメモリに、4はエンジンの他のサービスに必要な4GBのメモリに、spark.driver.memoryは各パイプラインの実行に割り当てられたメモリ(デフォルトでは1GB)にそれぞれ相当します。

spark.driver.memoryのデフォルト値は、Talend Management Console[Add run profile] (実行プロファイルの追加)フォームの[Advanced configuration] (詳細設定)セクションにパラメーターと値を追加すれば変更できます。

例:

8GBのメモリを持つDocker環境にエンジンをインストールしたら、sparkドライバーのメモリに4GBを割り当て式が(8-4)/4=1になるようにします:
LIVY_SERVER_SESSION_MAX_CREATION=1

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

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。