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 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 genügend Speicher, die Ausführung des Jobs kann fehlschlagen. -
yarn_nodemanager_health: Der CORE- oder TASK-Knoten hat wenig Speicherplatz und kann keine Aufgaben ausführen. -
node_state_change: Der CORE- oder TASK-Knoten ist vom 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, was zu Datenverlust führen könnte. -
hdfs_high_util: Die HDFS-Auslastung ist hoch, was sich auf Jobs und die Clusterintegrität 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: Der CORE- oder TASK-Knoten wurde von YARN für die Ausführung von Aufgaben gesperrt. -
yarn_node_lost: Der CORE- oder TASK-Knoten wurde von YARN als LOST markiert, mögliche Verbindungsprobleme.
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 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, mit der Systems Manager Automation die Aktionen in Ihrem Namen ausführen kann. 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
Schedulefür denOperationParameter angeben. -
LogToCloudWatchLogs
Typ: Zeichenfolge
Gültige Werte: ja | nein
Beschreibung: (Optional) Wenn Sie
yesfür den Wert dieses Parameters einen Wert angeben, erstellt die Automatisierung eine CloudWatch Logs-Protokollgruppe mit dem imCloudWatchLogGroupParameter 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
yesfür denLogToCloudWatchLogsParameter 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 ihnyesfür denLogToCloudWatchLogsParameter angeben. -
CreateMetricFilters
Typ: Zeichenfolge
Gültige Werte: ja | nein
Beschreibung: (Optional) Geben Sie an,
yesob Sie Metrikfilter für die Protokollgruppe CloudWatch Logs erstellen möchten. Dieser Parameter ist nur anwendbar, 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 angegebene Operation
Run Onceoder 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 Instanzen im Cluster ausgeführt wird. -
aws:branch- Verzweigt je nachdem, ob Sie angegeben haben, dass die Automatisierung einmal oder nach einem Zeitplan ausgeführt werden soll.-
Wenn der bereitgestellte Vorgang wie folgt lautet
Run Once:-
aws:branch- Verzweigt auf der Grundlage des imLogToCloudWatchLogsParameter angegebenen Werts.-
Wenn
LogToCloudWatchLogsder Wert istyes:-
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- Verzweigt auf der Grundlage des imCreateMetricFiltersParameter angegebenen Werts.-
Wenn
CreateMetricFiltersder Wert istyes:-
aws:executeAwsApi- Für jeden metrischen Filter werden 12 Schritte ausgeführt -
aws:branch- Verzweigungen, die auf dem imCreateLogInsightsDashboardParameter angegebenen Wert basieren.-
Wenn
CreateLogInsightsDashboardder Wert istyes:-
aws:executeAwsApi- Erstellt ein CloudWatch Dashboard mit demselben Namen, der imCloudWatchLogGroupParameter angegeben ist, falls es noch nicht existiert.
-
-
Wenn
CreateLogInsightsDashboardder Wert istno:-
aws:runCommand- Führt ein Shell-Skript aus, um Protokollmuster auf jeder Instanz im Cluster zu finden.
-
-
-
-
Wenn
CreateMetricFiltersder Wert istno:-
aws:branch- Verzweigt auf der Grundlage des imCreateLogInsightsDashboardParameter angegebenen Werts.-
Wenn
CreateLogInsightsDashboardder Wert istyes:-
aws:executeAwsApi- Erstellt ein CloudWatch Dashboard mit demselben Namen, der imCloudWatchLogGroupParameter angegeben ist, falls es noch nicht existiert.
-
-
Wenn
CreateLogInsightsDashboardder Wert istno:-
aws:runCommand- Führt ein Shell-Skript aus, um Protokollmuster auf jeder Instanz im Cluster zu finden.
-
-
-
-
-
-
Wenn
LogToCloudWatchLogsder 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. Instanz IDs
CreatingScheduleCloudFormationStack.StackStatus
RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus
CheckIfLogGroupExists. Ausgabe
FindLogPatternOnEMRNode.CommandId