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 alternância de log de eventos do Spark
Com as versões 6.3.0 e posteriores do Amazon EMR, você pode ativar o recurso de alternância de log de eventos do Spark para o Amazon EMR no EKS. Em vez de gerar um único arquivo de log de eventos, esse recurso alterna o arquivo com base no intervalo de tempo configurado e remove os arquivos de log de eventos mais antigos.
A alternância de logs de eventos do Spark pode ajudar você a evitar possíveis problemas com um grande arquivo de log de eventos do Spark gerado para trabalhos de execução prolongada ou de transmissão. Por exemplo, você inicia um trabalho de execução prolongada do Spark com um log de eventos habilitado com o parâmetro persistentAppUI. O driver do Spark gera um arquivo de log de eventos. Se o trabalho for executado por horas ou por dias, e houver um espaço em disco limitado no nó do Kubernetes, o arquivo de log de eventos poderá consumir todo o espaço em disco disponível. Ativar o recurso de alternância de log de eventos do Spark resolve o problema ao dividir o arquivo de log em vários arquivos e remover os arquivos mais antigos.
nota
Esse recurso funciona somente com o Amazon EMR no EKS. O Amazon EMR em execução no Amazon EC2 não oferece suporte à alternância de logs de eventos do Spark.
nota
No Amazon EMR no EKS, a rotação do log de eventos com base no tempo (os spark.eventLog.rotation.* parâmetros descritos nesta página) limita o crescimento do log de eventos do Spark com base em um intervalo de tempo e é o mecanismo suportado para fazer isso. O log de eventos contínuo de código aberto baseado em tamanho (spark.eventLog.rolling.*) não é compatível com o upload do log de eventos no Amazon EMR no EKS. Quando a rolagem está ativada, o driver do Spark grava arquivos de segmentos com base no tamanho. O componente de envio de registros gerenciado do Amazon EMR on EKS (o agente que carrega registros de eventos para que os aplicativos apareçam no Spark History Server) não coleta esses arquivos. Como resultado, o aplicativo não aparece no Spark History Server, mesmo que o trabalho seja executado com sucesso.
Se seus registros de eventos não estiverem aparecendo no Spark History Server, verifique spark.eventLog.rolling.enabled se estão configurados e mude para a rotação do registro de eventos conforme descrito na seção a seguir.
Para ativar o recurso de alternância de log de eventos do Spark, configure os seguintes parâmetros do Spark:
-
spark.eventLog.rotation.enabled: ativa a alternância de log. Por padrão, ele está desabilitado no arquivo de configuração do Spark. Defina-o como verdadeiro para ativar esse recurso. -
spark.eventLog.rotation.interval: especifica o intervalo de tempo para a alternância de log. O valor mínimo é 60 segundos. O valor de padrão é de 300 segundos. -
spark.eventLog.rotation.minFileSize: especifica um tamanho mínimo de arquivo para alternar o arquivo de log. O valor mínimo e padrão é de 1 MB. -
spark.eventLog.rotation.maxFilesToRetain: especifica quantos arquivos de log alternados serão mantidos durante a limpeza. O intervalo válido é de 1 a 10. O valor padrão é 2.
Você pode especificar esses parâmetros na seção sparkSubmitParameters da API StartJobRun, como mostra o exemplo a seguir.
"sparkSubmitParameters": "--class org.apache.spark.examples.SparkPi --conf spark.eventLog.rotation.enabled=true --conf spark.eventLog.rotation.interval=300 --conf spark.eventLog.rotation.minFileSize=1m --conf spark.eventLog.rotation.maxFilesToRetain=2"
Migrando do registro de eventos contínuos para a rotação
Se você usa atualmente o registro de eventos contínuos baseado em tamanho de código aberto, substitua os spark.eventLog.rolling.* parâmetros pelos parâmetros de rotação. A rotação limita o registro de eventos por um intervalo de tempo (com um tamanho mínimo de arquivo) em vez de apenas pelo tamanho do arquivo, então escolha um intervalo e um tamanho mínimo de arquivo adequados à taxa de eventos do seu trabalho. Remova todas spark.eventLog.rolling.* as configurações ao alternar. A tabela a seguir mapeia cada parâmetro de rolamento para seu equivalente de rotação.
| Parâmetro de rolamento (não suportado) | Parâmetro de rotação (suportado) |
|---|---|
spark.eventLog.rolling.enabled=true |
spark.eventLog.rotation.enabled=true |
spark.eventLog.rolling.maxFileSize(tampas por tamanho) |
spark.eventLog.rotation.interval(limite por tempo; mínimo 60 segundos, padrão 300 segundos), usado com spark.eventLog.rotation.minFileSize (mínimo e padrão 1 MB) |
spark.eventLog.rolling.maxFilesToRetain |
spark.eventLog.rotation.maxFilesToRetain(intervalo válido de 1 a 10, padrão 2) |