

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ジョブ送信者分類の使用
<a name="emr-eks-job-submitter"></a>

## 概要
<a name="emr-eks-job-submitter-overview"></a>

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}}]` **  
ジョブ送信者ポッドに[許容範囲](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)を追加します。デフォルトでは、ポッドに許容値は追加されません。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](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) を設定します。

オンデマンドインスタンスにジョブ送信者ポッドを配置することをお勧めします。ジョブ送信者ポッドをスポットインスタンスに配置することにより、ジョブ送信者ポッドが実行されるインスタンスがスポットインスタンスの中断を受けると、ジョブが失敗する可能性があります。[ジョブ送信者ポッドを単一のアベイラビリティーゾーンに配置することも、ノードに適用される Kubernetes ラベルを使用](#emr-eks-job-submitter-ex-ec2)することもできます。

## ジョブ送信者の分類例
<a name="emr-eks-job-submitter-examples"></a>

**Topics**
+ [ジョブ送信者ポッドのオンデマンドノード配置を含む `StartJobRun` リクエスト](#emr-eks-job-submitter-ex-od)
+ [`StartJobRun` ジョブ送信者ポッドのシングル AZ ノード配置と Amazon EC2 インスタンスタイプの配置による リクエスト](#emr-eks-job-submitter-ex-ec2)
+ [`StartJobRun` ジョブ送信者ポッドのラベル、注釈、カスタムスケジューラを含む リクエスト](#emr-eks-job-submitter-label-annotation-scheduler)
+ [`StartJobRun` キー 、値 `dedicated`、`graviton_machines`効果 `NoExecute`、および 60 秒`tolerationSeconds`の を持つジョブ送信者ポッドに許容範囲が適用された リクエスト](#emr-eks-job-submitter-tolerations)
+ [`StartJobRun` ジョブ送信者ポッドのログ記録が無効になっている リクエスト](#emr-eks-job-submitter-logging-disabled)
+ [`StartJobRun` ジョブ送信者ポッドのカスタムログ記録コンテナイメージ、CPU、メモリを使用した リクエスト](#emr-eks-job-submitter-custom)
+ [`StartJobRun` カスタムジョブ送信者コンテナイメージとプルポリシーを使用した リクエスト](#emr-eks-job-submitter-custom-container)

### ジョブ送信者ポッドのオンデマンドノード配置を含む `StartJobRun` リクエスト
<a name="emr-eks-job-submitter-ex-od"></a>

```
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 インスタンスタイプの配置による リクエスト
<a name="emr-eks-job-submitter-ex-ec2"></a>

```
"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` ジョブ送信者ポッドのラベル、注釈、カスタムスケジューラを含む リクエスト
<a name="emr-eks-job-submitter-label-annotation-scheduler"></a>

```
"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`の を持つジョブ送信者ポッドに許容範囲が適用された リクエスト
<a name="emr-eks-job-submitter-tolerations"></a>

```
"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` ジョブ送信者ポッドのログ記録が無効になっている リクエスト
<a name="emr-eks-job-submitter-logging-disabled"></a>

```
"configurationOverrides": {
  "applicationConfiguration": [
    {
      "classification": "emr-job-submitter",
      "properties": {
        "jobsubmitter.logging": "DISABLED"
      }
    }
  ], 
  "monitoringConfiguration": {
    "cloudWatchMonitoringConfiguration": {
      "logGroupName": "/emr-containers/jobs", 
      "logStreamNamePrefix": "demo"
    }, 
    "s3MonitoringConfiguration": {
      "logUri": "s3://joblogs"
    }
  }
}
```

### `StartJobRun` ジョブ送信者ポッドのカスタムログ記録コンテナイメージ、CPU、メモリを使用した リクエスト
<a name="emr-eks-job-submitter-custom"></a>

```
"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` カスタムジョブ送信者コンテナイメージとプルポリシーを使用した リクエスト
<a name="emr-eks-job-submitter-custom-container"></a>

```
"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}}"
      }
    }
  ]
}
```