Uso de la configuración de supervisión para supervisar el operador de Spark Kubernetes y los trabajos de Spark - Amazon EMR

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.

Uso de la configuración de supervisión para supervisar el operador de Spark Kubernetes y los trabajos de Spark

La configuración de supervisión le permite configurar fácilmente el archivado de registros de sus aplicaciones y registros de operadores de Spark en Amazon S3 o Amazon CloudWatch. Puede elegir uno o ambos. Al hacerlo, se agrega un contenedor asociado de agentes de registro a los pods de operadores, controladores y ejecutores de Spark y, posteriormente, se reenvían los registros de estos componentes a los receptores configurados.

Requisitos previos

Antes de configurar la supervisión, asegúrese de completar las siguientes tareas de configuración:

  1. (Opcional) Si anteriormente instalaste una versión anterior del operador Spark, elimina la SparkApplication/ScheduledSparkApplicationCRD.

    kubectl delete crd scheduledsparkapplications.sparkoperator.k8s.io kubectl delete crd sparkapplications.sparkoperator.k8s.io
  2. Cree un rol de operator/job ejecución en IAM si aún no lo tiene.

  3. Ejecute el siguiente comando para actualizar la política de confianza del rol de operator/job ejecución que acaba de crear:

    aws emr-containers update-role-trust-policy \ --cluster-name cluster \ --namespace namespace \ --role-name iam_role_name_for_operator/job_execution_role
  4. Edite la política de confianza del rol de IAM de su rol de operator/job ejecución de la siguiente manera:

    { "Effect": "Allow", "Principal": { "Federated": "${OIDC-provider}" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringLike": { "OIDC_PROVIDER:sub": "system:serviceaccount:${Namespace}:emr-containers-sa-*" } } }
  5. Cree una política monitoringConfiguration en IAM con los siguientes permisos:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:log_group_name", "arn:aws:logs:*:*:log-group:log_group_name:*" ], "Sid": "AllowLOGSDescribelogstreams" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "*" ], "Sid": "AllowLOGSDescribeloggroups" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket_name", "arn:aws:s3:::bucket_name/*" ], "Sid": "AllowS3Putobject" } ] }
  6. Adjunte la política anterior a su función operator/job de ejecución.