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.
AWSSupport-AnalyzeEMRLogs
Beschreibung
Dieses Runbook hilft bei der Identifizierung von Fehlern bei der Ausführung eines Jobs auf einem Amazon EMR-Cluster. Das Runbook analysiert eine Liste definierter Protokolle im Dateisystem und sucht nach einer Liste vordefinierter Schlüsselwörter. Diese Protokolleinträge werden verwendet, um Amazon CloudWatch Events-Ereignisse zu erstellen, sodass Sie auf der Grundlage der Ereignisse alle erforderlichen Maßnahmen ergreifen können. Optional veröffentlicht das Runbook Protokolleinträge in der Amazon CloudWatch Logs-Protokollgruppe Ihrer Wahl. Dieses Runbook sucht derzeit in den Protokolldateien nach den folgenden Fehlern und Mustern:
-
container_out_of_memory — Der YARN-Container hat nicht mehr genügend Speicher, die Ausführung des Jobs schlägt möglicherweise fehl. -
yarn_nodemanager_health: Dem CORE- oder TASK-Knoten geht der Speicherplatz aus und er kann keine Aufgaben ausführen. -
node_state_change: Der CORE- oder TASK-Knoten ist für den MASTER-Knoten nicht erreichbar. -
step_failure: Ein EMR-Schritt ist fehlgeschlagen. -
no_core_nodes_running: Derzeit laufen keine CORE-Knoten, der Cluster ist fehlerhaft. -
hdfs_missing_blocks: Es fehlen HDFS-Blöcke, die zu Datenverlust führen können. -
hdfs_high_util: Die HDFS-Auslastung ist hoch, was sich auf Jobs und die Clusterintegrität auswirken kann. -
instance_controller_restart: Prozess wurde neu gestartet. Instance-Controller Dieser Prozess ist für die Clusterintegrität unerlässlich. -
instance_controller_restart_legacy: Prozess wurde neu gestartet. Instance-Controller Dieser Prozess ist für die Clusterintegrität unerlässlich. -
high_load: Es wurde ein hoher Lastdurchschnitt erkannt, der sich auf die Node-Statusberichte auswirken oder zu Timeouts oder Verlangsamungen führen kann. -
yarn_node_blacklisted: Der CORE- oder TASK-Knoten wurde von YARN für die Ausführung von Aufgaben auf die schwarze Liste gesetzt. -
yarn_node_lost: Der CORE- oder TASK-Knoten wurde von YARN als LOST markiert, mögliche Verbindungsprobleme.
InstanzenClusterID, die dem von Ihnen angegebenen zugeordnet sind, müssen von verwaltet werden AWS Systems Manager. Sie können diese Automatisierung einmal ausführen, die Automatisierung so planen, dass sie in einem bestimmten Zeitintervall ausgeführt wird, oder einen Zeitplan entfernen, der zuvor von einer Automatisierung erstellt wurde. Dieses Runbook unterstützt die Amazon EMR-Release-Versionen 5.20 bis 6.30.
Führen Sie diese Automatisierung aus (Konsole)
Art des Dokuments
Automatisierung
Eigentümer
Amazon
Plattformen
LinuxmacOS, Windows
Parameter
-
AutomationAssumeRole
Typ: Zeichenfolge
Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen auszuführen. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.
-
ClusterID
Typ: Zeichenfolge
Beschreibung: (Erforderlich) Die ID des Clusters, dessen Knotenprotokolle Sie analysieren möchten.
-
Operation
Typ: Zeichenfolge
Gültige Werte: Einmal ausführen | Zeitplan | Zeitplan entfernen
Beschreibung: (Erforderlich) Der Vorgang, der auf dem Cluster ausgeführt werden soll.
-
IntervalTime
Typ: Zeichenfolge
Gültige Werte: 5 Minuten | 10 Minuten | 15 Minuten
Beschreibung: (Optional) Die Zeitdauer zwischen der Ausführung der Automatisierung. Dieser Parameter ist nur gültig, wenn Sie ihn
Schedulefür denOperationParameter angeben. -
LogToCloudWatchLogs
Typ: Zeichenfolge
Gültige Werte: ja | nein
Beschreibung: (Optional) Wenn Sie den Wert dieses Parameters angeben
yes, erstellt die Automatisierung eine CloudWatch Logs-Protokollgruppe mit dem imCloudWatchLogGroupParameter angegebenen Namen, um alle übereinstimmenden Logeinträge zu speichern. -
CloudWatchLogGroup
Typ: Zeichenfolge
Beschreibung: (Optional) Der Name der CloudWatch Logs-Protokollgruppe, in der Sie alle übereinstimmenden Logeinträge speichern möchten. Dieser Parameter ist nur gültig, wenn Sie ihn
yesfür denLogToCloudWatchLogsParameter angeben. -
CreateLogInsightsDashboard
Typ: Zeichenfolge
Gültige Werte: ja | nein
Beschreibung: (Optional) Wenn Sie angeben
yes, wird das CloudWatch Dashboard erstellt, sofern es noch nicht existiert. Dieser Parameter ist nur gültig, wenn Sie ihnyesfür denLogToCloudWatchLogsParameter angeben. -
CreateMetricFilters
Typ: Zeichenfolge
Gültige Werte: ja | nein
Beschreibung: (Optional) Geben Sie an,
yesob Sie Metrikfilter für die CloudWatch Log-Loggruppe erstellen möchten. Dieser Parameter ist nur gültig, wenn Sie ihnyesfür denLogToCloudWatchLogsParameter angeben.
Erforderliche IAM-Berechtigungen
Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.
-
ssm:StartAutomationExecution -
ssm:GetDocument -
ssm:ListDocuments -
ssm:DescribeAutomationExecutions -
ssm:DescribeAutomationStepExecutions -
ssm:GetAutomationExecution -
ssm:DescribeInstanceInformation -
ssm:ListCommandInvocations -
ssm:ListCommands -
ssm:SendCommand -
iam:CreateRole -
iam:DeleteRole -
iam:GetRolePolicy -
iam:PutRolePolicy -
iam:DeleteRolePolicy -
iam:passrole -
cloudformation:DescribeStacks -
cloudformation:DeleteStack -
cloudformation:CreateStack -
events:DeleteRule -
events:RemoveTargets -
events:PutTargets -
events:PutRule -
events:DescribeRule -
logs:DescribeLogGroups -
logs:CreateLogGroup -
logs:PutMetricFilter -
cloudwatch:PutDashboard -
elasticmapreduce:ListInstances -
elasticmapreduce:DescribeCluster
Dokumentschritte
-
aws:executeAwsApi— Sammelt Informationen über den im Parameter angegebenen Amazon EMR-Cluster.ClusterID -
aws:branch— Verzweigungen auf der Grundlage von Eingaben.-
Wenn die bereitgestellte Operation
Run Onceoder istSchedule:-
aws:assertAwsResourceProperty— Überprüft, ob der Cluster verfügbar ist. -
aws:executeAwsApi— Sammelt die IDs aller Instanzen, die im Cluster ausgeführt werden. -
aws:assertAwsResourceProperty- Überprüft, ob der SSM Agent auf allen Instanzen im Cluster ausgeführt wird. -
aws:branch— Verzweigungen je nachdem, ob Sie angegeben haben, dass die Automatisierung einmal oder nach einem Zeitplan ausgeführt werden soll.-
Wenn die bereitgestellte Operation wie folgt lautet
Run Once:-
aws:branch- Verzweigungen, die auf dem imLogToCloudWatchLogsParameter angegebenen Wert basieren.-
Wenn der
LogToCloudWatchLogsWert lautetyes:-
aws:executeScript- Prüft, ob eine CloudWatch Logs-Log-Gruppe mit dem im Parameter angegebenen NamenCloudWatchLogGroupbereits existiert. Wenn nicht, wird die Gruppe mit dem angegebenen Namen erstellt. -
aws:branch- Verzweigungen basieren auf dem imCreateMetricFiltersParameter angegebenen Wert.-
Wenn der
CreateMetricFiltersWert lautetyes:-
aws:executeAwsApi- Für jeden Metrikfilter werden 12 Schritte ausgeführt -
aws:branch- Verzweigungen basieren auf dem imCreateLogInsightsDashboardParameter angegebenen Wert.-
Wenn der
CreateLogInsightsDashboardWert lautetyes:-
aws:executeAwsApi- Erstellt ein CloudWatch Dashboard mit demselben Namen, der imCloudWatchLogGroupParameter angegeben ist, falls es noch nicht existiert.
-
-
Wenn der
CreateLogInsightsDashboardWert lautetno:-
aws:runCommand— Führt ein Shell-Skript aus, um Protokollmuster auf jeder Instanz im Cluster zu finden.
-
-
-
-
Wenn der
CreateMetricFiltersWert lautetno:-
aws:branch- Verzweigungen basieren auf dem imCreateLogInsightsDashboardParameter angegebenen Wert.-
Wenn der
CreateLogInsightsDashboardWert lautetyes:-
aws:executeAwsApi- Erstellt ein CloudWatch Dashboard mit demselben Namen, der imCloudWatchLogGroupParameter angegeben ist, falls es noch nicht existiert.
-
-
Wenn der
CreateLogInsightsDashboardWert lautetno:-
aws:runCommand— Führt ein Shell-Skript aus, um Protokollmuster auf jeder Instanz im Cluster zu finden.
-
-
-
-
-
-
Wenn der
LogToCloudWatchLogsWert lautetno:-
aws:executeAwsApi— Führt ein Shell-Skript aus, um Protokollmuster auf jeder Instanz im Cluster zu finden.
-
-
-
-
Wenn die bereitgestellte Operation wie folgt lautet
Schedule:-
aws:createStack— Erzeugt ein EventBridge Amazon-Ereignis, das auf dieses Runbook abzielt.
-
-
-
-
Wenn die bereitgestellte Operation wie folgt lautet
Remove Schedule:-
aws:executeAwsApi— Überprüft, ob ein Zeitplan für den Cluster existiert. -
aws:deleteStack- Löscht den Zeitplan.
-
-
Ausgaben
GetClusterInformation.ClusterName
GetClusterInformation.ClusterState
ListingClusterInstances.InstanceIDs
CreatingScheduleCloudFormationStack.StackStatus
RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus
CheckIfLogGroupExists.output
FindLogPatternOnEMRNode.CommandId