View a markdown version of this page

Usar a classificação de padrões do contêiner do Amazon EMR - Amazon EMR

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á.

Usar a classificação de padrões do contêiner do Amazon EMR

Visão geral do

As seguintes configurações estão disponíveis na classificação emr-containers-defaults:

job-start-timeout

Por padrão, um trabalho atingirá o tempo limite se não puder ser iniciado e esperar no estado SUBMITTED por 15 minutos. Essa configuração altera o número de segundos de espera antes da expiração da tarefa.

executor.logging

Ativa ou desativa o registro nos pods do executor. Quando definido como, DISABLED o contêiner de registro é removido dos pods do executor, o que desativará qualquer registro desses pods especificados emmonitoringConfiguration, como ou. s3MonitoringConfiguration cloudWatchMonitoringConfiguration Quando essa configuração não está definida ou está definida com qualquer outro valor, o registro nos pods do executor é ativado.

logging.image

Define uma imagem personalizada a ser utilizada para o contêiner de registro em log nos pods do driver e do executor.

logging.request.cores

Define um valor personalizado para o número de CPUs, em unidades de CPU, para o contêiner de registro em log nos pods do driver e do executor. Isso não é definido por padrão.

logging.request.memory

Define um valor personalizado para a quantidade de memória, em bytes, para o contêiner de registro em log nos pods do driver e do executor. Por padrão, ela é definida como 512Mi. Um mebibyte é uma unidade de medida semelhante a um megabyte.

logging.eventLog.dir

Use essa configuração para ativar a interface de usuário persistente do aplicativo e salvar os registros de eventos do Spark em sua própria localização no S3. logging.eventLog.dirDefina o caminho do S3 para seus registros de eventos. Na monitoringConfiguration, defina persistentAppUI como ENABLED. Não defina spark.eventLog.dir quando você usalogging.eventLog.dir; essas duas configurações são incompatíveis. Se spark.eventLog.dir estiver definida, essa configuração terá prioridade e o contêiner de registro não poderá replicar os registros de eventos do Spark. Isso significa que sua localização no S3 especificada por logging.eventLog.dir não receberá registros de eventos e a interface de usuário persistente do aplicativo também não funcionará.

Exemplos de classificação de envio de trabalho

Solicitação StartJobRun com tempo limite de trabalho personalizado

{ "name": "spark-python", "virtualClusterId": "virtual-cluster-id", "executionRoleArn": "execution-role-arn", "releaseLabel": "emr-6.11.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "s3://S3-prefix/trip-count.py" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "job-start-timeout": "1800" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } } }

StartJobRunsolicitação com registro desativado para pods executores

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

StartJobRunsolicitação com imagem personalizada do contêiner de registro, CPU e memória para os pods de driver e executor

"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "logging.image": "YOUR_ECR_IMAGE_URL", "logging.request.memory": "200Mi", "logging.request.cores": "0.5" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } }
nota

Se o contêiner de registro do Fluentd encontrar um erro de falta de memória (OOM), aumente o valor. logging.request.memory Por exemplo, defina-o como para 1Gi alocar mais memória ao contêiner de registro e evitar problemas de OOM.

StartJobRunsolicitação com o registro de eventos do Spark (destino do Amazon S3)

O exemplo a seguir salva os registros de eventos do Spark em seu próprio bucket do Amazon S3 e, ao mesmo tempo, ativa a interface de usuário persistente do aplicativo. A persistentAppUI configuração é ENABLED por padrão.

"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "logging.eventLog.dir": "s3://my-bucket/event-logs/" } } ], "monitoringConfiguration": { "persistentAppUI": "ENABLED" } }
nota

Não defina spark.eventLog.dir na spark-defaults classificação ao usarlogging.eventLog.dir. Essas duas configurações são incompatíveis. Se spark.eventLog.dir estiver definida, essa configuração terá prioridade e o contêiner de registro não poderá replicar os registros de eventos do Spark. Isso significa que sua localização no S3 especificada por logging.eventLog.dir não receberá registros de eventos e a interface de usuário persistente do aplicativo também não funcionará.