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á.
Armazenamento de logs
Para monitorar o progresso do seu trabalho no EMR Serverless e solucionar falhas de trabalho, escolha como o EMR Serverless armazena e veicula os registros do aplicativo. Ao enviar uma execução de trabalho, especifique armazenamento gerenciado, Amazon S3 e Amazon CloudWatch como suas opções de registro.
Com CloudWatch, especifique os tipos e locais de registro que você deseja usar ou aceite os tipos e locais padrão. Para obter mais informações sobre CloudWatch registros, consulteRegistro no EMR Serverless com a Amazon CloudWatch. Com o armazenamento gerenciado e o registro do S3, a tabela a seguir lista os locais de log e a disponibilidade da interface do usuário que você pode esperar se escolher armazenamento gerenciado, buckets do Amazon S3 ou ambos.
| Opção | Logs de eventos | Logs de contêineres | Interfaces de usuário de aplicações |
|---|---|---|---|
|
Armazenamento gerenciado |
Armazenamento gerenciado |
Armazenamento gerenciado |
Compatível |
|
Armazenamento gerenciado e bucket do S3 |
Armazenado em ambos os locais |
Armazenado no bucket do S3 |
Compatível |
|
Bucket do Amazon S3. |
Armazenado no bucket do S3 |
Armazenado no bucket do S3 |
Sem suporte1 |
1 Sugerimos que você mantenha a opção Armazenamento gerenciado selecionada. Caso contrário, você não poderá usar o aplicativo integrado UIs.
Registro em log do EMR Sem Servidor com armazenamento gerenciado
Por padrão, o EMR Sem Servidor armazena logs de aplicações com segurança no armazenamento gerenciado do Amazon EMR por no máximo 30 dias.
nota
Se você desativar a opção padrão, o Amazon EMR não poderá solucionar problemas de trabalhos em seu nome. Exemplo: Você não pode acessar o Spark-UI a partir do console sem servidor do EMR.
Para desativar essa opção no EMR Studio, desmarque AWS a caixa de seleção Permitir reter registros por 30 dias na seção Configurações adicionais da página Enviar trabalho.
Para desativar essa opção no AWS CLI, use a managedPersistenceMonitoringConfiguration configuração ao enviar uma execução de trabalho.
{ "monitoringConfiguration": { "managedPersistenceMonitoringConfiguration": { "enabled": false } } }
Se seu aplicativo EMR Serverless estiver em uma sub-rede privada com endpoints VPC para Amazon S3 e você anexar uma política de endpoint para controlar o acesso, adicione as seguintes permissões para que o EMR Serverless armazene e forneça registros de aplicativos. ResourceSubstitua pelos AppInfo buckets da tabela de regiões disponíveis em Exemplos de políticas para sub-redes privadas que acessam o Amazon S3.
Além disso, use a chave de aws:SourceVpc condição para garantir que a solicitação viaje pela VPC à qual o VPC endpoint está conectado.
Registro em log do EMR Sem Servidor com buckets do Amazon S3
Antes que seus trabalhos possam enviar dados de log para o Amazon S3, inclua as seguintes permissões na política de permissões para a função de tempo de execução do trabalho. Substitua pelo nome do bucket de registro em log.amzn-s3-demo-logging-bucket
Para configurar um bucket do Amazon S3 para armazenar registros do AWS CLI, use a s3MonitoringConfiguration configuração ao iniciar a execução de um trabalho. Para fazer isso, forneça o --configuration-overrides a seguir na configuração.
{ "monitoringConfiguration": { "s3MonitoringConfiguration": { "logUri": "s3://amzn-s3-demo-logging-bucket/logs/" } } }
Em trabalhos em lotes que não têm novas tentativas habilitadas, o EMR Sem Servidor envia os logs para o seguinte caminho:
'/applications/<applicationId>/jobs/<jobId>'
Os registros do driver Spark são armazenados no seguinte caminho pelo EMR Serverless
'/applications/<applicationId>/jobs/<jobId>/SPARK_DRIVER/'
Os registros do executor do Spark são armazenados no seguinte caminho pelo EMR Serverless
'/applications/<applicationId>/jobs/<jobId>/SPARK_EXECUTOR/<EXECUTOR-ID>'
O <EXECUTOR-ID>é um número inteiro.
As versões 7.1.0 e posteriores do EMR Sem Servidor oferecem suporte a novas tentativas para trabalhos de streaming e em lote. Se você executar um trabalho com novas tentativas habilitadas, o EMR Sem Servidor adicionará automaticamente um número de tentativas ao prefixo do caminho do log, para que você possa distinguir e rastrear melhor os logs.
'/applications/<applicationId>/jobs/<jobId>/attempts/<attemptNumber>/'
Registro no EMR Serverless com a Amazon CloudWatch
Ao enviar um trabalho para um aplicativo EMR Serverless, escolha a Amazon CloudWatch como uma opção para armazenar os registros do seu aplicativo. Isso permite que você use recursos de análise de CloudWatch registros, como CloudWatch Logs Insights e Live Tail. Você também pode transmitir registros CloudWatch para outros sistemas, por exemplo, OpenSearch para análise posterior.
O EMR Sem Servidor fornece registro em log em tempo real para logs de drivers. Você pode acessar os registros em tempo real com o recurso de cauda ao CloudWatch vivo ou por meio de comandos de cauda da CloudWatch CLI.
Por padrão, o CloudWatch registro está desativado para o EMR Serverless. Para habilitá-lo, use a configuração emAWS CLI.
nota
A Amazon CloudWatch publica registros em tempo real, portanto, gera mais recursos dos trabalhadores. Se você escolher uma baixa capacidade de trabalhador, o impacto no runtime do trabalho poderá aumentar. Se você ativar o CloudWatch registro, sugerimos que escolha uma capacidade de trabalho maior. Também é possível que a publicação de logs faça controle de utilização se a taxa de transações por segundo (TPS) for muito baixa para PutLogEvents. A configuração de CloudWatch limitação é global para todos os serviços, incluindo o EMR Serverless. Para obter mais informações, consulte Como determino a limitação em meus registros? CloudWatch
Permissões necessárias para fazer login com CloudWatch
Antes que seus trabalhos possam enviar dados de log para a Amazon CloudWatch, inclua as seguintes permissões na política de permissões para a função de tempo de execução do trabalho.
AWS CLI
Para configurar a Amazon CloudWatch para armazenar registros do EMR Serverless a partir do AWS CLI, use a cloudWatchLoggingConfiguration configuração ao iniciar a execução de um trabalho. Para fazer isso, forneça as substituições de configuração a seguir. Opcionalmente, forneça também um nome de grupo de log, nome de prefixo de fluxo de log, tipos de log e um ARN de chave de criptografia.
Se você não especificar os valores opcionais, CloudWatch publicará os registros em um grupo de registros padrão/aws/emr-serverless, com o fluxo /applications/ de registros padrão.applicationId/jobs/jobId/worker-type
As versões 7.1.0 e posteriores do EMR Sem Servidor oferecem suporte a novas tentativas para trabalhos de streaming e em lote. Se você habilitou novas tentativas para um trabalho, o EMR Sem Servidor adiciona automaticamente um número de tentativas ao prefixo do caminho do log, para que você possa distinguir e rastrear melhor os logs.
'/applications/<applicationId>/jobs/<jobId>/attempts/<attemptNumber>/worker-type'
O seguinte demonstra a configuração mínima necessária para ativar o Amazon CloudWatch Logging com as configurações padrão para o EMR Serverless:
{ "monitoringConfiguration": { "cloudWatchLoggingConfiguration": { "enabled": true } } }
O exemplo a seguir mostra todas as configurações obrigatórias e opcionais que especificam quando você ativa o Amazon CloudWatch Logging para o EMR Serverless. Os logTypes valores suportados também estão listados neste exemplo a seguir.
{ "monitoringConfiguration": { "cloudWatchLoggingConfiguration": { "enabled": true, // Required "logGroupName": "Example_logGroup", // Optional "logStreamNamePrefix": "Example_logStream", // Optional "encryptionKeyArn": "key-arn", // Optional "logTypes": { "SPARK_DRIVER": ["stdout", "stderr"] //List of values } } } }
Por padrão, o EMR Serverless publica somente os registros do driver stdout e stderr em. CloudWatch Se você quiser outros registros, especifique uma função de contêiner e os tipos de registro correspondentes com o logTypes campo.
A lista a seguir mostra os tipos de trabalhadores compatíveis que são especificados para a logTypes configuração:
- Spark
-
-
SPARK_DRIVER : ["STDERR", "STDOUT"] -
SPARK_EXECUTOR : ["STDERR", "STDOUT"]
-
- Hive
-
-
HIVE_DRIVER : ["STDERR", "STDOUT", "HIVE_LOG", "TEZ_AM"] -
TEZ_TASK : ["STDERR", "STDOUT", "SYSTEM_LOGS"]
-