Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de la rotation des journaux des conteneurs Spark
Avec Amazon EMR en version 6.11.0 et ultérieure, vous pouvez activer la fonctionnalité de rotation des journaux des conteneurs Spark pour Amazon EMR on EKS. Au lieu de générer un seul fichier journal stdout
ou stderr
, cette fonctionnalité effectue une rotation des fichiers en fonction de la taille de rotation configurée et supprime les fichiers journaux les plus anciens du conteneur.
La rotation des journaux des conteneurs Spark peut vous aider à éviter les problèmes potentiels liés aux fichiers journaux Spark volumineux générés pour les tâches de longue durée ou en streaming. Par exemple, vous pouvez démarrer une tâche Spark de longue durée et le pilote Spark génère un fichier journal du conteneur. Si la tâche s'exécute pendant des heures ou des jours et que l'espace disque sur le nœud Kubernetes est limité, le fichier journal du conteneur peut consommer tout l'espace disque disponible. Lorsque vous activez la rotation des journaux des conteneurs Spark, vous divisez le fichier journal en plusieurs fichiers et vous supprimez les fichiers les plus anciens.
Pour activer la fonctionnalité de rotation des journaux des conteneurs Spark, configurez les paramètres Spark suivants :
containerLogRotationConfiguration
-
Incluez ce paramètre dans
monitoringConfiguration
pour activer la rotation des journaux. Ce paramètre est désactivé par défaut. Vous devez utilisercontainerLogRotationConfiguration
en plus des3MonitoringConfiguration
. rotationSize
-
Le paramètre
rotationSize
indique la taille du fichier pour la rotation des journaux. La plage de valeurs possibles est comprise entre2KB
et2GB
. La partie unitaire numérique du paramètrerotationSize
est transmise sous forme d'entier. Les valeurs décimales n'étant pas prises en charge, vous pouvez indiquer une taille de rotation de 1,5 Go, par exemple, avec la valeur1500MB
. maxFilesToKeep
-
Le paramètre
maxFilesToKeep
indique le nombre maximum de fichiers à retenir dans le conteneur après la rotation. La valeur minimale est 1 et la valeur maximale est 50.
Vous pouvez indiquer ces paramètres dans la section monitoringConfiguration
de l'API StartJobRun
, comme le montre l'exemple ci-dessous. Dans cet exemple, avec rotationSize = "10 MB"
et maxFilesToKeep = 3
, Amazon EMR on EKS effectue une rotation de vos journaux à 10 Mo, génère un nouveau fichier journal, puis purge le fichier journal le plus ancien une fois que le nombre de fichiers journaux atteint 3.
{ "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
" } } } }
Pour démarrer une exécution de tâche avec la rotation des journaux des conteneurs Spark, incluez dans la commande StartJobRun un chemin d'accès au fichier JSON que vous avez configuré avec ces paramètres.
aws emr-containers start-job-run \ --cli-input-json file://
path-to-json-request-file