翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ジョブ送信者分類の使用
概要:
Amazon EMR on EKS StartJobRun リクエストは、Spark ドライバーを生成するジョブ送信者ポッド (job-runner ポッドとも呼ばれます) を作成します。emr-job-submitter 分類を使用して、ノードセレクタの設定、許容範囲の追加、ログ記録のカスタマイズ、ジョブ送信者ポッドへのその他の変更を行うことができます。
emr-job-submitter 分類では以下の設定が可能です:
-
jobsubmitter.node.selector.[selectorKey] -
キー
selectorKeyと値を設定値として、ジョブ送信者ポッドのノードセレクタに追加します。たとえば、jobsubmitter.node.selector.identifierを に設定できmyIdentifier、ジョブ送信者ポッドにはキーidentifierと値 を持つノードセレクタがありますmyIdentifier。これは、ジョブ送信者ポッドを配置できるノードを指定するために使用できます。複数のノードセレクターキーを追加するには、このプレフィックスを使用して複数の設定を設定します。 -
jobsubmitter.label.[labelKey] -
キー
labelKeyと値を設定値として、ジョブ送信者ポッドのラベルに追加します。複数のラベルを追加するには、このプレフィックスを使用して複数の設定を行います。 -
jobsubmitter.annotation.[annotationKey] -
キー
annotationKeyと値を設定値として、ジョブ送信者ポッドの注釈に追加します。複数の注釈を追加するには、このプレフィックスを使用して複数の設定を行います。 -
jobsubmitter.node.toleration.[tolerationKey] -
ジョブ送信者ポッドに許容範囲
を追加します。デフォルトでは、ポッドに許容値は追加されません。Toleration のキーは tolerationKeyになり、 Toleration の値は設定値になります。設定値が空でない文字列に設定されている場合、演算子は になりますEquals。設定値が に設定されている場合""、演算子は になりますExists。 -
jobsubmitter.node.toleration.[tolerationKey].[effect] -
プレフィックス
tolerationKeyに許容効果を追加します。このフィールドは、許容範囲を追加するときに必要です。効果フィールドに使用できる値は、NoExecute、NoSchedule、および ですPreferNoSchedule。 -
jobsubmitter.node.toleration.[tolerationKey].[tolerationSeconds] -
tolerationSeconds をプレフィックス
tolerationKeyに追加します。オプションのフィールド。効果が の場合にのみ該当しますNoExecute。 -
jobsubmitter.scheduler.name -
ジョブ送信者ポッドのカスタムschedulerNameを設定します。
-
jobsubmitter.logging -
ジョブ送信者ポッドのログ記録を有効または無効にします。これを に設定する
DISABLEDと、ログ記録コンテナがジョブ送信者ポッドから削除され、s3MonitoringConfigurationや などmonitoringConfiguration、 で指定されたこのポッドのログ記録が無効になりますcloudWatchMonitoringConfiguration。この設定が設定されていないか、他の値に設定されている場合、ジョブ送信者ポッドでのログ記録が有効になります。 -
jobsubmitter.logging.image -
ジョブ送信者ポッドのログ記録コンテナに使用するカスタムイメージを設定します。
-
jobsubmitter.logging.request.cores -
ジョブ送信者ポッドのログ記録コンテナの CPU 数のカスタム値を CPU 単位で設定します。デフォルトでは、100m に設定されています。
-
jobsubmitter.logging.request.memory -
ジョブ送信者ポッドのログ記録コンテナのメモリ量のカスタム値をバイト単位で設定します。デフォルトでは、200Mi に設定されています。メビバイトは、メガバイトに似た測定単位です。
-
jobsubmitter.container.image -
ジョブ送信者ポッドの
job-runnerコンテナのカスタムイメージを設定します。 -
jobsubmitter.container.image.pullPolicy -
ジョブ送信者ポッドのコンテナの imagePullPolicy
を設定します。
オンデマンドインスタンスにジョブ送信者ポッドを配置することをお勧めします。ジョブ送信者ポッドをスポットインスタンスに配置することにより、ジョブ送信者ポッドが実行されるインスタンスがスポットインスタンスの中断を受けると、ジョブが失敗する可能性があります。ジョブ送信者ポッドを単一のアベイラビリティーゾーンに配置することも、ノードに適用される Kubernetes ラベルを使用することもできます。
ジョブ送信者の分類例
ジョブ送信者ポッドのオンデマンドノード配置を含む StartJobRun リクエスト
cat >spark-python-in-s3-nodeselector-job-submitter.json << EOF { "name": "spark-python-in-s3-nodeselector", "virtualClusterId": "virtual-cluster-id", "executionRoleArn": "execution-role-arn", "releaseLabel": "emr-6.11.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "s3://S3-prefix/trip-count.py", "sparkSubmitParameters": "--conf spark.driver.cores=5 --conf spark.executor.memory=20G --conf spark.driver.memory=15G --conf spark.executor.cores=6" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "spark-defaults", "properties": { "spark.dynamicAllocation.enabled":"false" } }, { "classification": "emr-job-submitter", "properties": { "jobsubmitter.node.selector.eks.amazonaws.com/capacityType": "ON_DEMAND" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } } } EOF aws emr-containers start-job-run --cli-input-json file:///spark-python-in-s3-nodeselector-job-submitter.json
StartJobRun ジョブ送信者ポッドのシングル AZ ノード配置と Amazon EC2 インスタンスタイプの配置による リクエスト
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.node.selector.topology.kubernetes.io/zone": "Availability Zone", "jobsubmitter.node.selector.node.kubernetes.io/instance-type":"m5.4xlarge" } } ] }
StartJobRun ジョブ送信者ポッドのラベル、注釈、カスタムスケジューラを含む リクエスト
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.label.label1": "value1", "jobsubmitter.label.label2": "value2", "jobsubmitter.annotation.ann1": "value1", "jobsubmitter.annotation.ann2": "value2", "jobsubmitter.scheduler.name": "custom-scheduler" } } ] }
StartJobRun キー 、値 dedicated、graviton_machines効果 NoExecute、および 60 秒tolerationSecondsの を持つジョブ送信者ポッドに許容範囲が適用された リクエスト
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.node.toleration.dedicated":"graviton_machines", "jobsubmitter.node.toleration.dedicated.effect":"NoExecute", "jobsubmitter.node.toleration.dedicated.tolerationSeconds":"60" } } ] }
StartJobRun ジョブ送信者ポッドのログ記録が無効になっている リクエスト
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.logging": "DISABLED" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } }
StartJobRun ジョブ送信者ポッドのカスタムログ記録コンテナイメージ、CPU、メモリを使用した リクエスト
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.logging.image": "YOUR_ECR_IMAGE_URL", "jobsubmitter.logging.request.memory": "200Mi", "jobsubmitter.logging.request.cores": "0.5" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } }
StartJobRun カスタムジョブ送信者コンテナイメージとプルポリシーを使用した リクエスト
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.container.image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/emr6.11_custom_repo", "jobsubmitter.container.image.pullPolicy": "kubernetes pull policy" } } ] }