Verwenden der Überwachungskonfiguration zur Überwachung des Spark-Kubernetes-Operators und der Spark-Jobs - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden der Überwachungskonfiguration zur Überwachung des Spark-Kubernetes-Operators und der Spark-Jobs

Mit der Überwachungskonfiguration können Sie ganz einfach die Protokollarchivierung Ihrer Spark-Anwendung und Ihrer Bedienerprotokolle in Amazon S3 oder auf einrichten Amazon CloudWatch. Sie können eines oder beide auswählen. Dadurch wird ein Log-Agent-Sidecar zu Ihren Spark-Operator-Pods, -Treibern und Executor-Pods hinzugefügt und anschließend werden die Logs dieser Komponenten an Ihre konfigurierten Senken weitergeleitet.

Voraussetzungen

Bevor Sie die Überwachung konfigurieren, stellen Sie sicher, dass Sie die folgenden Einrichtungsaufgaben abgeschlossen haben:

  1. (Optional) Wenn Sie zuvor eine ältere Version des Spark-Operators installiert haben, löschen Sie die ScheduledSparkApplication CRD SparkApplication/.

    kubectl delete crd scheduledsparkapplications.sparkoperator.k8s.io kubectl delete crd sparkapplications.sparkoperator.k8s.io
  2. Erstellen Sie eine operator/job Ausführungsrolle in IAM, falls Sie noch keine haben.

  3. Führen Sie den folgenden Befehl aus, um die Vertrauensrichtlinie der gerade erstellten operator/job Ausführungsrolle zu aktualisieren:

    aws emr-containers update-role-trust-policy \ --cluster-name cluster \ --namespace namespace \ --role-name iam_role_name_for_operator/job_execution_role
  4. Bearbeiten Sie die IAM-Rollen-Vertrauensrichtlinie Ihrer operator/job Ausführungsrolle wie folgt:

    { "Effect": "Allow", "Principal": { "Federated": "${OIDC-provider}" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringLike": { "OIDC_PROVIDER:sub": "system:serviceaccount:${Namespace}:emr-containers-sa-*" } } }
  5. Erstellen Sie in IAM eine MonitoringConfiguration-Richtlinie mit den folgenden Berechtigungen:

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:account_id:log-group:log_group_name", "arn:aws:logs:us-east-1:account_id:log-group:log_group_name:*" ] }, { "Effect": "Allow", "Action": "logs:DescribeLogGroups", "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket_name", "arn:aws:s3:::bucket_name/*" ] } ] }
  6. Fügen Sie die obige Richtlinie Ihrer Ausführungsrolle hinzu. operator/job