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 Sem Servidor e solucionar falhas de trabalho, escolha como o EMR Sem Servidor armazena e veicula os logs de aplicações. Ao enviar uma execução de trabalho, especifique o armazenamento gerenciado, o Amazon S3 e o 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 do EMR sem servidor com a Amazon CloudWatch. Com o armazenamento gerenciado e os logs 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 manter a opção Armazenamento gerenciado selecionada. Caso contrário, você não poderá usar as interfaces de usuário integradas da aplicação.
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 a Spark-UI partir do console EMR Serverless.
Para desativar essa opção do 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 do AWS CLI, use a managedPersistenceMonitoringConfiguration configuração ao enviar uma execução de trabalho.
{ "monitoringConfiguration": { "managedPersistenceMonitoringConfiguration": { "enabled": false } } }
Se a sua aplicação do EMR Sem Servidor estiver em uma sub-rede privada com endpoints de VPC para o Amazon S3 e você anexar uma política de endpoint para controlar o acesso, adicione as seguintes permissões para que o EMR Sem Servidor armazene e forneça logs de aplicações. Substitua Resource pelos buckets AppInfo 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 condição aws:SourceVpc para garantir que a solicitação passe pela VPC à qual o endpoint da VPC está conectado.
Registro em log do EMR Sem Servidor com buckets do Amazon S3
Antes que os trabalhos possam enviar dados de log ao Amazon S3, as permissões apresentadas a seguir devem ser incluídas na política de permissões para o perfil de runtime 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 logs do driver do Spark são armazenados no seguinte caminho pelo EMR Sem Servidor
'/applications/<applicationId>/jobs/<jobId>/SPARK_DRIVER/'
Os logs do executor do Spark são armazenados no seguinte caminho pelo EMR Sem Servidor
'/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 do EMR sem servidor com a Amazon CloudWatch
Ao enviar um trabalho para um aplicativo EMR Serverless, escolha a Amazon CloudWatch como uma opção para armazenar seus registros de aplicativos. 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álises adicionais.
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 CloudWatch live tail ou por meio de comandos CloudWatch finais da CLI.
Por padrão, o CloudWatch registro está desativado para o EMR Serverless. Para habilitá-lo, use a configuração em AWS CLI.
nota
A Amazon CloudWatch publica registros em tempo real, portanto, incorre em 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 maior capacidade de trabalho. 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 para o 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 um nome de grupo de logs, nome de prefixo de fluxo de logs, tipos de log e um ARN de chave de criptografia.
Se você não especificar os valores opcionais, CloudWatch publique 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'
A seguir, demonstramos a configuração mínima necessária para ativar o registro em CloudWatch log da Amazon 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 registro em CloudWatch log da Amazon para o EMR Serverless. Os valores de logTypes aceitos também estão listados no 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 drivers em que stdout e stderr se registram. CloudWatch Se quiser outros logs, especifique um perfil de contêiner e os tipos de log correspondentes com o campo logTypes.
A seguinte lista mostra os tipos de trabalhadores compatíveis que você pode especificar na configuração logTypes:
- Spark
-
-
SPARK_DRIVER : ["STDERR", "STDOUT"] -
SPARK_EXECUTOR : ["STDERR", "STDOUT"]
-
- Hive
-
-
HIVE_DRIVER : ["STDERR", "STDOUT", "HIVE_LOG", "TEZ_AM"] -
TEZ_TASK : ["STDERR", "STDOUT", "SYSTEM_LOGS"]
-