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 do contêiner do Spark
Com as versões 6.11.0 e posteriores do Amazon EMR, você pode ativar o recurso de alternância de log do contêiner do Spark para o Amazon EMR no EKS. Em vez de gerar um arquivo único de log stdout ou stderr, esse recurso alterna o arquivo com base na dimensão de alternância configurada e remove os arquivos de log mais antigos do contêiner.
A alternância de logs do contêiner do Spark pode ajudar você a evitar possíveis problemas com grandes arquivos de log do Spark gerados para trabalhos de execução prolongada ou de transmissão. Por exemplo, é possível iniciar um trabalho do Spark de execução prolongada e o driver do Spark gerar um arquivo de log do contêiner. 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 do contêiner poderá consumir todo o espaço em disco disponível. Ao ativar a alternância de log do contêiner do Spark, você divide o arquivo de log em vários arquivos e remove os arquivos mais antigos.
Para ativar o recurso de alternância de log do contêiner do Spark, configure os seguintes parâmetros do Spark:
containerLogRotationConfiguration-
Inclua esse parâmetro em
monitoringConfigurationpara ativar a alternância de log. O recurso é desabilitado por padrão. Você deve usarcontainerLogRotationConfigurationalém des3MonitoringConfiguration. rotationSize-
O parâmetro
rotationSizeespecifica o tamanho do arquivo para a alternância de log. O intervalo de valores possíveis é de2KBa2GB. A parcela numérica da unidade do parâmetrorotationSizeé transferida como um número inteiro. Como não há suporte para valores decimais, você pode especificar um tamanho de rotação de 1,5 GB, por exemplo, com o valor1500MB. maxFilesToKeep-
O parâmetro
maxFilesToKeepespecifica o número máximo de arquivos a serem retidos no contêiner após a alternância ter ocorrido. O valor mínimo é de 1 e o valor máximo é de 50.
Você pode especificar esses parâmetros na seção monitoringConfiguration da API StartJobRun, como mostra o exemplo a seguir. Neste exemplo, com rotationSize = "10 MB" e maxFilesToKeep = 3, o Amazon EMR no EKS alterna seus logs em 10 MB, gera um novo arquivo de log e, em seguida, limpa o arquivo de log mais antigo quando o número de arquivos de log atinge três.
{ "name": "my-long-running-job", "virtualClusterId": "123456", "executionRoleArn": "iam_role_name_for_job_execution", "releaseLabel": "emr-6.11.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "entryPoint_location", "entryPointArguments": ["argument1", "argument2", ...], "sparkSubmitParameters": "--classmain_class--conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "spark-defaults", "properties": { "spark.driver.memory":"2G" } } ], "monitoringConfiguration": { "persistentAppUI": "ENABLED", "cloudWatchMonitoringConfiguration": { "logGroupName": "my_log_group", "logStreamNamePrefix": "log_stream_prefix" }, "s3MonitoringConfiguration": { "logUri": "s3://my_s3_log_location" }, "containerLogRotationConfiguration": { "rotationSize":"10MB", "maxFilesToKeep":"3" } } } }
Para iniciar uma execução de trabalho com a alternância de log do contêiner do Spark, inclua um caminho para o arquivo JSON que você configurou com esses parâmetros no comando StartJobRun.
aws emr-containers start-job-run \ --cli-input-json file://path-to-json-request-file