

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Uso da classificação de envio de trabalho
<a name="emr-eks-job-submitter"></a>

## Visão geral do
<a name="emr-eks-job-submitter-overview"></a>

A solicitação `StartJobRun` do Amazon EMR no EKS cria um pod de *envio de trabalho* (também conhecido como pod *job-runner*) para gerar o driver do Spark. Você pode usar a `emr-job-submitter` classificação para configurar seletores de nós, adicionar tolerâncias, personalizar o registro e fazer outras modificações no pod remetente do trabalho.

As seguintes configurações estão disponíveis na classificação `emr-job-submitter`:

** `jobsubmitter.node.selector.[selectorKey]` **  
É adicionado ao seletor de nós do pod remetente do trabalho, com a chave *selectorKey* e o valor como valor de configuração. Por exemplo, você pode ` jobsubmitter.node.selector.identifier` definir como `myIdentifier` e o pod remetente do trabalho terá um seletor de nós com uma chave `identifier` e um valor. `myIdentifier` Isso pode ser usado para especificar em quais nós o pod remetente do trabalho pode ser colocado. Para adicionar diversas chaves seletoras de nós, defina diversas configurações com esse prefixo.

** `jobsubmitter.label.[labelKey]` **  
Adiciona aos rótulos do pod remetente do trabalho, com a chave *labelKey* e o valor como valor de configuração. Para adicionar vários rótulos, defina várias configurações com esse prefixo.

** `jobsubmitter.annotation.[annotationKey]` **  
Adiciona às anotações do pod remetente do trabalho, com a chave *annotationKey* e o valor como valor de configuração. Para adicionar várias anotações, defina várias configurações com esse prefixo.

** `jobsubmitter.node.toleration.[tolerationKey]` **  
Adiciona [tolerâncias](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) ao pod do remetente do trabalho. Por padrão, não há tolerâncias adicionadas ao pod. A chave da tolerância será *tolerationKey* e o valor da tolerância será o valor da configuração. Se o valor da configuração for definido como uma string não vazia, o operador será`Equals`. Se o valor da configuração estiver definido como`""`, o operador será`Exists`.

** `jobsubmitter.node.toleration.[tolerationKey].[effect]` **  
Adiciona um efeito de tolerância ao prefixo*tolerationKey*. Esse campo é obrigatório ao adicionar tolerâncias. Os valores permitidos para o campo de efeito são ` NoExecute``NoSchedule`, `PreferNoSchedule` e.

** `jobsubmitter.node.toleration.[tolerationKey].[tolerationSeconds]` **  
Adiciona tolerationSeconds ao prefixo. *tolerationKey* Campo opcional. Aplicável somente quando o efeito é`NoExecute`.

** `jobsubmitter.scheduler.name` **  
Define um SchedulerName personalizado para o pod remetente do trabalho.

** `jobsubmitter.logging` **  
Ativa ou desativa o registro no pod remetente do trabalho. Quando isso é definido como, ` DISABLED` o contêiner de registro é removido do pod remetente do trabalho, o que desativará qualquer registro desse pod especificado no`monitoringConfiguration`, como `s3MonitoringConfiguration` ou. `cloudWatchMonitoringConfiguration` Quando essa configuração não está definida ou está definida com qualquer outro valor, o login no pod remetente do trabalho é ativado.

** `jobsubmitter.logging.image` **  
Define uma imagem personalizada a ser usada para o contêiner de registro em log no pod remetente do trabalho.

** `jobsubmitter.logging.request.cores` **  
Define um valor personalizado para o número CPUs, em unidades de CPU, do contêiner de registro no pod remetente do trabalho. Por padrão, ela é definida como **100m**.

** `jobsubmitter.logging.request.memory` **  
Define um valor personalizado para a quantidade de memória, em bytes, para o contêiner de log no pod do remetente do trabalho. Por padrão, ela é definida como **200Mi**. Um mebibyte é uma unidade de medida semelhante a um megabyte.

** `jobsubmitter.container.image` **  
Define uma imagem personalizada para o contêiner do pod remetente do `job-runner` trabalho.

** `jobsubmitter.container.image.pullPolicy` **  
Define os [imagePullPolicy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy)contêineres do pod remetente do trabalho para os contêineres.

Recomendamos colocar pods de remetentes de trabalhos em instâncias sob demanda. A colocação de pods remetentes de trabalhos em instâncias spot pode resultar em uma falha no trabalho se a instância em que o pod remetente de trabalho é executado estiver sujeita a uma interrupção da instância spot. Você também pode [colocar o pod remetente do trabalho em uma única zona de disponibilidade ou usar qualquer rótulo do Kubernetes aplicado aos nós](#emr-eks-job-submitter-ex-ec2).

## Exemplos de classificação de envio de trabalho
<a name="emr-eks-job-submitter-examples"></a>

**Topics**
+ [Solicitação `StartJobRun` com nó sob demanda estabelecido para o pod de envio de trabalho](#emr-eks-job-submitter-ex-od)
+ [`StartJobRun`solicitação com posicionamento de nó Single-AZ e posicionamento do tipo de instância Amazon EC2 para o pod remetente do trabalho](#emr-eks-job-submitter-ex-ec2)
+ [`StartJobRun`solicitação com rótulos, anotações e um agendador personalizado para o pod remetente do trabalho](#emr-eks-job-submitter-label-annotation-scheduler)
+ [`StartJobRun`solicitação com uma tolerância aplicada ao pod remetente do trabalho com chave`dedicated`, valor `graviton_machines``NoExecute`, efeito e a de 60 segundos `tolerationSeconds`](#emr-eks-job-submitter-tolerations)
+ [`StartJobRun`solicitação com registro desativado para o pod remetente do trabalho](#emr-eks-job-submitter-logging-disabled)
+ [`StartJobRun`solicitação com imagem de contêiner de registro personalizada, CPU e memória para o pod remetente do trabalho](#emr-eks-job-submitter-custom)
+ [`StartJobRun`solicitação com uma imagem personalizada do contêiner do remetente do trabalho e política de pull](#emr-eks-job-submitter-custom-container)

### Solicitação `StartJobRun` com nó sob demanda estabelecido para o pod de envio de trabalho
<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`solicitação com posicionamento de nó Single-AZ e posicionamento do tipo de instância Amazon EC2 para o pod remetente do trabalho
<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`solicitação com rótulos, anotações e um agendador personalizado para o pod remetente do trabalho
<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`solicitação com uma tolerância aplicada ao pod remetente do trabalho com chave`dedicated`, valor `graviton_machines``NoExecute`, efeito e a de 60 segundos `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`solicitação com registro desativado para o pod remetente do trabalho
<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`solicitação com imagem de contêiner de registro personalizada, CPU e memória para o pod remetente do trabalho
<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`solicitação com uma imagem personalizada do contêiner do remetente do trabalho e política de pull
<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"
      }
    }
  ]
}
```