View a markdown version of this page

Registri delle applicazioni Spark - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registri delle applicazioni Spark

Puoi definire questa configurazione nel modo seguente.

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"

Di seguito sono riportate le opzioni di configurazione disponibili in MonitoringConfiguration.

  • Immagine (opzionale): URL dell'immagine dell'agente di registro. Verrà recuperato da emr ReleaseLabel se non fornito.

  • s3 MonitoringConfiguration — Imposta questa opzione per l'archiviazione su Amazon S3.

    • logURI (obbligatorio): il percorso del bucket Amazon S3 in cui desideri archiviare i log. Il primo esempio mostra che la rotazione dei log non è abilitata:

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

      La rotazione dei log è abilitata per impostazione predefinita. È possibile utilizzare sia un file ruotato (con indice incrementale) sia un file corrente (uno senza il timbro della data).

      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 chiave di configurazione verso cui configurare l'inoltro. Amazon CloudWatch

    • log GroupName (obbligatorio): il nome del gruppo di log di Cloudwatch a cui desideri inviare i log. Il gruppo viene creato automaticamente se non esiste.

    • log StreamNamePrefix (opzionale): il nome del flusso di log a cui si desidera inviare i log. Il valore predefinito è una stringa vuota. Il formato in CloudWatch è il seguente:

      ${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout ${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr
  • side CarResources (opzionale): la chiave di configurazione per impostare i limiti delle risorse sul contenitore sidecar Fluentd lanciato.

    • memoryLimit (opzionale) — Il limite di memoria. Regola secondo necessità. L'impostazione predefinita è 250 Mi.

    • CPULimit: il limite della CPU. Regola secondo necessità. L'impostazione predefinita è 500 m.

  • container LogRotationConfiguration (opzionale): controlla il comportamento di rotazione del log del contenitore. È abilitato per impostazione predefinita.

    • rotationSize (obbligatorio): specifica la dimensione del file per la rotazione del registro. L'intervallo di valori possibili è compreso tra 2 KB e 2 GB. La parte relativa all'unità numerica del parametro rotationSize viene trasmessa come numero intero. Poiché i valori decimali non sono supportati, puoi specificare una dimensione di rotazione di 1,5 GB, ad esempio, con il valore 1.500 MB. Il valore predefinito è 2 GB.

    • max FilesToKeep (obbligatorio) — Speciifica il numero massimo di file da conservare nel contenitore dopo la rotazione. Il valore minimo è 1. Il valore massimo è 50. Il valore predefinito è 10.

Dopo aver configurato MonitoringConfiguration, dovresti essere in grado di controllare i log del driver dell'applicazione Spark e dell'executor su un bucket Amazon S3 o su entrambi. CloudWatch Per un bucket Amazon S3, devi attendere 2 minuti prima che il primo file di log venga svuotato. Ad esempio, in Amazon S3, il percorso del bucket appare come segue:

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

O:

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

In CloudWatch, il percorso appare come segue:

CloudWatch> Gruppi di log > Log group name>Spark application name - UUID/Pod name/stderr

O:

CloudWatch> Gruppi di log > >/Log group name/stdout Spark application name - UUID Pod name