

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 步骤 4：检查 Amazon EMR 日志文件
<a name="emr-troubleshoot-failed-4"></a>

 下一步是检查日志文件，以找到错误代码或集群遇到的问题的其它指示。有关可用日志文件、查找日志文件的位置以及如何查看这些日志文件的信息，请参阅[查看 Amazon EMR 日志文件](emr-manage-view-web-log-files.md)。

 可能需要进行一些调查工作才能确定发生了什么。Hadoop 在集群中的各个节点上运行任务尝试中的任务工作。Amazon EMR 可以启动推测性任务尝试，终止未首先完成的其它任务尝试。这会生成重要的活动，并记录到控制器，stderr 和 syslog 日志文件中。此外，多个任务尝试同时运行，但一个日志文件只能线性显示结果。

 首先检查引导操作日志，查看集群启动期间的错误或意外配置更改。从那里查看步骤日志，以确定作为错误步骤的一部分启动的 Hadoop 任务。检查 Hadoop 任务日志以确定失败的任务尝试。任务尝试日志将包含导致任务尝试失败的详细信息。

以下部分说明如何使用各种日志文件识别集群中的错误。

## 检查引导操作日志
<a name="emr-troubleshoot-failed-4-bootstrap-logs"></a>

 引导操作会在集群启动时运行脚本。它们通常用于在集群上安装附加软件或更改默认值的配置设置。检查这些日志可以深入了解集群设置期间发生的错误以及可能影响性能的配置设置更改。

## 检查步骤日志
<a name="emr-troubleshoot-failed-4-step-logs"></a>

 步骤日志有四种类型。
+ **控制器：**包含由 Amazon EMR（Amazon EMR）生成的文件，这些文件由尝试运行您的步骤时遇到的错误引起。如果您的步骤在加载时失败，您可以在此日志中找到堆栈跟踪。此处通常描述加载或访问您的应用程序的错误，以及缺少映射器文件错误。
+  **stderr** 包含处理步骤时发生的错误消息。此处通常介绍应用程序加载错误。此日志有时包含堆栈跟踪。
+ **stdout：**包含由映射器和折叠器（reducer）可执行文件生成的状态。此处通常介绍应用程序加载错误。此日志有时包含应用程序错误消息。
+ **syslog：**包含来自非 Amazon 软件（例如 Apache 和 Hadoop）的日志。流式传输错误通常在此处进行描述。

 检查 stderr 是否有明显的错误。如果 stderr 显示一个简短的错误列表，则该步骤会快速停止并引发错误。这通常由集群中运行的映射器和折叠器（reducer）应用程序中的错误引起。

 检查控制器和 syslog 的最后一行是否有错误或故障通知。注意有关失败任务的任何通知，特别是显示“Job Failed (任务失败)”的时候。

## 检查任务尝试日志
<a name="emr-troubleshoot-failed-4-task-logs"></a>

 如果在前面对步骤日志的分析中发现了一个或多个失败的任务，请调查相应任务尝试的日志，以获得更详细的错误信息。