

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 de CPUs, em unidades de CPU, para o contêiner de log no pod do 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 a [imagem](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) dos PullPolicy contêineres do pod remetente do trabalho.

** `jobsubmitter.gracefulTermination` **  
Por padrão, ou quando essa configuração é definida como`false`, após o pod do executor do trabalho criar o pod do driver, ele continua em execução, observa o pod do driver e registra periodicamente o status do driver durante a vida útil do trabalho. Quando essa configuração é definida como`true`, o pod do executor de tarefas termina imediatamente após iniciar o pod do driver Spark. Isso significa que o pod do executor de tarefas consome CPU e memória por menos tempo, mas os registros do executor de tarefas não estão mais disponíveis.

Recomendamos colocar pods de remetentes de trabalhos em Instâncias. On-Demand 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**
+ [`StartJobRun`solicitação com posicionamento de On-Demand nós para o pod remetente do 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 dedicada, valor graviton_machines, efeito e uma tolerância Seconds de 60 NoExecutesegundos`](#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)
+ [`StartJobRun`solicitação com rescisão normal ativada para o pod remetente do trabalho](#emr-eks-job-submitter-graceful-termination)

### `StartJobRun`solicitação com posicionamento de On-Demand nós para o pod remetente do 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 dedicada, valor graviton_machines, efeito e uma tolerância Seconds de 60 NoExecutesegundos`
<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}}"
      }
    }
  ]
}
```

### `StartJobRun`solicitação com rescisão normal ativada para o pod remetente do trabalho
<a name="emr-eks-job-submitter-graceful-termination"></a>

```
"configurationOverrides": {
  "applicationConfiguration": [
    {
      "classification": "emr-job-submitter",
      "properties": {
        "jobsubmitter.gracefulTermination": "true"
      }
    }
  ]
}
```