Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Registros de aplicaciones de Spark
Puede definir la configuración de la siguiente manera:
apiVersion: "sparkoperator.k8s.io/v1beta2" kind: SparkApplication metadata: name: spark-pi namespace:namespacespec: 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_labelexecutionRoleArn:job_execution_role_arnrestartPolicy: 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"
A continuación, se describen las opciones de configuración disponibles en monitoringConfiguration.
Imagen (opcional): URL de la imagen del agente de registro. Se buscará por emr ReleaseLabel si no se proporciona.
s3 MonitoringConfiguration — Configure esta opción para archivar en Amazon S3.
logUri (obligatorio): la ruta del bucket de Amazon S3 donde desea almacenar sus registros. El primer ejemplo muestra que la rotación de registros no está habilitada:
s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout.gz s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr.gzEl registro está habilitado de forma predeterminada. Puede utilizar tanto un archivo rotado (con índice creciente) como un archivo actual (uno sin la fecha).
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 clave de configuración a la que se debe configurar el reenvío. Amazon CloudWatch
log GroupName (obligatorio): el nombre del grupo de registros de Cloudwatch al que quieres enviar los registros. Si el grupo no existe, se crea automáticamente.
log StreamNamePrefix (opcional): el nombre del flujo de registros al que quieres enviar los registros. El valor predeterminado es una cadena vacía. El formato CloudWatch es el siguiente:
${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout ${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr
side CarResources (opcional): la clave de configuración para establecer los límites de recursos en el contenedor sidecar Fluentd lanzado.
memoryLimit (opcional): el límite de memoria. Ajústelo según sus necesidades. El valor predeterminado es 250Mi.
cpuLimit: el límite de la CPU. Ajústelo según sus necesidades. El valor predeterminado es 500 m.
contenedor LogRotationConfiguration (opcional): controla el comportamiento de rotación del registro del contenedor. Está habilitada de forma predeterminada.
rotationSize (obligatorio): especifica el tamaño del archivo para la rotación del registro. El rango de valores posibles va de 2 KB a 2 GB. La parte de la unidad numérica del parámetro rotationSize se pasa como un número entero. Como no se admiten valores decimales, puede especificar un tamaño de rotación de 1,5 GB, por ejemplo, con el valor 1500 MB. El valor predeterminado es 2 GB.
max FilesToKeep (obligatorio): especifica el número máximo de archivos que se deben conservar en el contenedor una vez realizada la rotación. El valor mínimo es 1. El valor máximo es 50. El valor predeterminado es 10.
Tras configurar MonitoringConfiguration, deberías poder comprobar los registros del controlador y del ejecutor de la aplicación Spark en un bucket de Amazon S3 o en ambos. CloudWatch Para un bucket de Amazon S3, debe esperar 2 minutos para poder descartar el primer archivo de registro. Por ejemplo, en Amazon S3, la ruta del bucket es la siguiente:
Amazon S3 > Buckets > Bucket name> Spark application name - UUID Pod Name > stderr.gz
O bien:
Amazon S3 > Buckets > Bucket name> Spark application name - UUID Pod Name > stdout.gz
En CloudWatch, la ruta aparece de la siguiente manera:
CloudWatch> Grupos de registros > Log group name>Spark application name - UUID/Pod name/stderr
O bien:
CloudWatch> Grupos de registros > >/Log group name/stdout Spark application name - UUID Pod name