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 EMR Amazon-Cluster. Das Runbook analysiert eine Liste definierter Protokolle im Dateisystem und sucht nach einer Liste mit vordefinierten Schlüsselwörtern. 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 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 kann fehlschlagen.
-
yarn_nodemanager_health: CORE oder der TASK Knoten hat wenig Speicherplatz und kann keine Aufgaben ausführen.
-
node_state_change: oder der Knoten ist für den Knoten nicht erreichbar. CORE TASK MASTER
-
step_failure: Ein Schritt ist fehlgeschlagen. EMR
-
no_core_nodes_running: Derzeit laufen keine CORE Knoten, der Cluster ist fehlerhaft.
-
hdfs_missing_blocks: Es fehlen Blöcke, was zu Datenverlust führen könnte. HDFS
-
hdfs_high_util: HDFS Die Auslastung ist hoch, was sich auf Jobs und den Zustand des Clusters auswirken kann.
-
instance_controller_restart: Der Instance-Controller-Prozess wurde neu gestartet. Dieser Prozess ist für die Clusterintegrität unerlässlich.
-
instance_controller_restart_legacy: Der Instance-Controller-Prozess wurde neu gestartet. Dieser Prozess ist für die Clusterintegrität unerlässlich.
-
high_load: Es wurde ein hoher Lastdurchschnitt erkannt. Dies kann sich auf die Berichterstattung über den Knotenstatus auswirken oder zu Timeouts oder Verlangsamungen führen.
-
yarn_node_blacklisted: CORE oder der Knoten wurde von laufenden Aufgaben auf die schwarze Liste gesetzt. TASK YARN
-
yarn_node_lost: CORE oder der Knoten wurde als von markiert, mögliche Verbindungsprobleme. TASK LOST YARN
Instanzen, die mit dem von Ihnen angegebenen verknüpft sindClusterID
, 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 zuvor durch eine Automatisierung erstellten Zeitplan entfernen. Dieses Runbook unterstützt die EMR Amazon-Release-Versionen 5.20 bis 6.30.
Führen Sie diese Automatisierung aus (Konsole)
Art des Dokuments
Automatisierung
Eigentümer
Amazon
Plattformen
Linux, macOS, Windows
Parameter
-
AutomationAssumeRole
Typ: Zeichenfolge
Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der Rolle AWS Identity and Access Management (IAM), der es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen durchzufü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 Zeitspanne zwischen der Ausführung der Automatisierung. Dieser Parameter ist nur anwendbar, wenn Sie ihn
Schedule
für denOperation
Parameter angeben. -
LogToCloudWatchLogs
Typ: Zeichenfolge
Gültige Werte: ja | nein
Beschreibung: (Optional) Wenn Sie
yes
für den Wert dieses Parameters einen Wert angeben, erstellt die Automatisierung eine CloudWatch Logs-Protokollgruppe mit dem imCloudWatchLogGroup
Parameter angegebenen Namen, in der alle übereinstimmenden Protokolleinträge gespeichert werden. -
CloudWatchLogGroup
Typ: Zeichenfolge
Beschreibung: (Optional) Der Name der CloudWatch Logs-Log-Gruppe, in der Sie alle passenden Logeinträge speichern möchten. Dieser Parameter ist nur anwendbar, wenn Sie ihn
yes
für denLogToCloudWatchLogs
Parameter angeben. -
CreateLogInsightsDashboard
Typ: Zeichenfolge
Gültige Werte: ja | nein
Beschreibung: (Optional) Wenn Sie dies angeben
yes
, wird das CloudWatch Dashboard erstellt, sofern es noch nicht vorhanden ist. Dieser Parameter ist nur anwendbar, wenn Sie ihnyes
für denLogToCloudWatchLogs
Parameter angeben. -
CreateMetricFilters
Typ: Zeichenfolge
Gültige Werte: ja | nein
Beschreibung: (Optional) Geben Sie an,
yes
ob Sie Metrikfilter für die Protokollgruppe CloudWatch Logs erstellen möchten. Dieser Parameter ist nur anwendbar, wenn Sie ihnyes
für denLogToCloudWatchLogs
Parameter 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 EMR Amazon-Cluster, der imClusterID
Parameter angegeben ist. -
aws:branch
- Verzweigt auf der Grundlage von Eingaben.-
Wenn die angegebene Operation
Run Once
oder istSchedule
:-
aws:assertAwsResourceProperty
- Überprüft, ob der Cluster verfügbar ist. -
aws:executeAwsApi
- Sammelt alle Instanzen, IDs die im Cluster ausgeführt werden. -
aws:assertAwsResourceProperty
- Überprüft, ob der SSM Agent auf allen Instances im Cluster ausgeführt wird. -
aws:branch
— Verzweigt je nachdem, ob Sie angegeben haben, dass die Automatisierung einmalig oder nach einem Zeitplan ausgeführt werden soll.-
Wenn der bereitgestellte Vorgang wie folgt lautet
Run Once
:-
aws:branch
- Verzweigt auf der Grundlage des imLogToCloudWatchLogs
Parameter angegebenen Werts.-
Wenn
LogToCloudWatchLogs
der Wert istyes
:-
aws:executeScript
- Prüft, ob eine CloudWatch Logs-Log-Gruppe mit dem im Parameter angegebenen NamenCloudWatchLogGroup
bereits existiert. Wenn nicht, wird die Gruppe mit dem angegebenen Namen erstellt. -
aws:branch
- Verzweigt auf der Grundlage des imCreateMetricFilters
Parameter angegebenen Werts.-
Wenn
CreateMetricFilters
der Wert istyes
:-
aws:executeAwsApi
- Für jeden metrischen Filter werden 12 Schritte ausgeführt -
aws:branch
- Verzweigungen, die auf dem imCreateLogInsightsDashboard
Parameter angegebenen Wert basieren.-
Wenn
CreateLogInsightsDashboard
der Wert istyes
:-
aws:executeAwsApi
- Erstellt ein CloudWatch Dashboard mit demselben Namen, der imCloudWatchLogGroup
Parameter angegeben ist, falls es noch nicht existiert.
-
-
Wenn
CreateLogInsightsDashboard
der Wert istno
:-
aws:runCommand
- Führt ein Shell-Skript aus, um Protokollmuster auf jeder Instanz im Cluster zu finden.
-
-
-
-
Wenn
CreateMetricFilters
der Wert istno
:-
aws:branch
- Verzweigt auf der Grundlage des imCreateLogInsightsDashboard
Parameter angegebenen Werts.-
Wenn
CreateLogInsightsDashboard
der Wert istyes
:-
aws:executeAwsApi
- Erstellt ein CloudWatch Dashboard mit demselben Namen, der imCloudWatchLogGroup
Parameter angegeben ist, falls es noch nicht existiert.
-
-
Wenn
CreateLogInsightsDashboard
der Wert istno
:-
aws:runCommand
- Führt ein Shell-Skript aus, um Protokollmuster auf jeder Instanz im Cluster zu finden.
-
-
-
-
-
-
Wenn
LogToCloudWatchLogs
der Wert istno
:-
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
— Erstellt ein EventBridge Amazon-Ereignis, das auf dieses Runbook abzielt.
-
-
-
-
Wenn die angegebene 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- Ich. nstanceIDs
CreatingScheduleCloudFormationStack.StackStatus
RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus
CheckIfLogGroupExists. Ausgabe
FindLogPatternOnEMRNode.CommandId