View a markdown version of this page

Journaux des applications Spark - Amazon EMR

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.

Journaux des applications Spark

Vous pouvez définir cette configuration de la manière suivante.

apiVersion: "sparkoperator.k8s.io/v1beta2" kind: SparkApplication metadata: name: spark-pi namespace: namespace spec: type: Scala mode: cluster imagePullPolicy: Always mainClass: org.apache.spark.examples.SparkPi mainApplicationFile: "local:///usr/lib/spark/examples/jars/spark-examples.jar" sparkVersion: "3.3.1" emrReleaseLabel: emr_release_label executionRoleArn: job_execution_role_arn restartPolicy: type: Never volumes: - name: "test-volume" hostPath: path: "/tmp" type: Directory driver: cores: 1 coreLimit: "1200m" memory: "512m" labels: version: 3.3.1 volumeMounts: - name: "test-volume" mountPath: "/tmp" executor: cores: 1 instances: 1 memory: "512m" labels: version: 3.3.1 volumeMounts: - name: "test-volume" mountPath: "/tmp" monitoringConfiguration: image: "log_agent_image" s3MonitoringConfiguration: logUri: "S3_bucket_uri" cloudWatchMonitoringConfiguration: logGroupName: "log_group_name" logStreamNamePrefix: "log_stream_prefix" sideCarResources: limits: cpuLimit: "500m" memoryLimit: "250Mi" containerLogRotationConfiguration: rotationSize: "2GB" maxFilesToKeep: "10"

Les options de configuration disponibles sous MonitoringConfiguration sont les suivantes.

  • Image (facultatif) — Enregistrez l'URL de l'image de l'agent. Récupérera par emr ReleaseLabel s'il n'est pas fourni.

  • s3 MonitoringConfiguration — Définissez cette option pour archiver sur Amazon S3.

    • LoGURI (obligatoire) — Le chemin du compartiment Amazon S3 dans lequel vous souhaitez stocker vos journaux. Le premier exemple montre qu'aucune rotation des journaux n'est activée :

      s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout.gz s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr.gz

      La rotation des journaux est activée par défaut. Vous pouvez utiliser à la fois un fichier pivoté (avec un index incrémenté) et un fichier actuel (sans horodatage).

      s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout_YYYYMMDD_index.gz s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr_YYYYMMDD_index.gz
  • cloud WatchMonitoringConfiguration — La clé de configuration vers laquelle configurer le transfertAmazon CloudWatch.

    • log GroupName (obligatoire) : nom du groupe de journaux Cloudwatch auquel vous souhaitez envoyer des journaux. Le groupe est automatiquement créé s'il n'existe pas.

    • log StreamNamePrefix (facultatif) : nom du flux de journal auquel vous souhaitez envoyer des logs. La valeur par défaut est une chaîne vide. Le format CloudWatch est le suivant :

      ${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout ${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr
  • side CarResources (facultatif) — La clé de configuration permettant de définir les limites de ressources sur le conteneur sidecar Fluentd lancé.

    • Limite de mémoire (facultatif) — Limite de mémoire. Ajustez selon vos besoins. La valeur par défaut est 250 Mi.

    • CPULimit — Limite du processeur. Ajustez selon vos besoins. La valeur par défaut est de 500 m.

  • container LogRotationConfiguration (facultatif) — Contrôle le comportement de rotation du journal du conteneur. Il est activé par défaut.

    • RotationSize (obligatoire) — Spécifie la taille du fichier pour la rotation du journal. La plage de valeurs possibles est comprise entre 2 Ko et 2 Go. La partie unitaire numérique du paramètre rotationSize 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 valeur 1500 Mo. La valeur par défaut est 2 Go.

    • max FilesToKeep (obligatoire) — Spécifie le nombre maximum de fichiers à conserver dans le conteneur après la rotation. La valeur minimale est de 1. La valeur maximale est de 50. La valeur par défaut est 10.

Après avoir configuré MonitoringConfiguration, vous devriez être en mesure de consulter les journaux du pilote et de l'exécuteur de votre application Spark sur un compartiment Amazon S3, ou sur les deux. CloudWatch Pour un compartiment Amazon S3, vous devez attendre 2 minutes pour que le premier fichier journal soit vidé. Par exemple, dans Amazon S3, le chemin du compartiment apparaît comme suit :

Amazon S3 > Compartiments > Bucket name> > Spark application name - UUID Pod Name > stderr.gz

Ou:

Amazon S3 > Compartiments > Bucket name> > Spark application name - UUID Pod Name > stdout.gz

Dans CloudWatch, le chemin apparaît comme suit :

CloudWatch> Groupes de journaux > Log group name>Spark application name - UUID/Pod name/stderr

Ou:

CloudWatch> Groupes de journaux > Log group name>Spark application name - UUID/Pod name/stdout