

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

# 查看 Amazon EMR 日志文件
<a name="emr-manage-view-web-log-files"></a>

 Amazon EMR 和 Hadoop 都可以生成日志文件，报告集群上的状态。默认情况下，这些会写入 `/mnt/var/log/` 目录中的主节点。根据您在启动时如何配置集群，这些日志还可能归档到 Amazon S3，并可通过图形调试工具进行查看。

 有多种类型的日志写入主节点。Amazon EMR 会写入步骤、引导操作和实例状态日志。Apache Hadoop 写入的日志会报告作业、任务和任务尝试的处理情况。Hadoop 还会记录守护程序的日志。[有关 Hadoop 编写的日志的更多信息，请访问 http://hadoop.apache。 org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html。](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html)

## 查看主节点上的日志文件
<a name="emr-manage-view-web-log-files-master-node"></a>

下表列出了主节点上可能显示的一些日志文件。


| 位置 | 说明 | 
| --- | --- | 
|  /emr/instance-controller/log/bootstrap-动作  | 引导操作处理期间写入的日志。 | 
|  /mnt/var/log/hadoop-state-pusher  | Hadoop 状态推送进程写入的日志。 | 
|  /emr/instance-controller/log  | 实例控制器日志。 | 
|  /emr/instance-state  | 实例状态日志。这些日志中包含有关 CPU、内存状态和节点的垃圾收集器线程的信息。 | 
|  /emr/service-nanny  | nanny 服务流程写入的日志。 | 
|  /mnt/var/log/*application*  | 特定于应用程序 (如 Hadoop、Spark 或 Hive) 的日志。 | 
|  /mnt/var/log/hadoop/steps/*N*  | 步骤日志，其中包含有关步骤处理的信息。的值*N*表示亚马逊 EMR 分配的 stepID。例如，一个集群有两个步骤：`s-1234ABCDEFGH` 和 `s-5678IJKLMNOP`。第一步位于 `/mnt/var/log/hadoop/steps/s-1234ABCDEFGH/` 中，第二步位于 `/mnt/var/log/hadoop/steps/s-5678IJKLMNOP/` 中。  Amazon EMR 写入的步骤日志如下。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html)  | 

**使用 AWS CLI查看主节点上的日志文件。**

1.  如 [使用 SSH 连接到 Amazon EMR 集群主节点](emr-connect-master-node-ssh.md) 中所述使用 SSH 连接主节点。

1.  导航到您希望查看的、包含日志文件信息的目录。上表提供了一系列可用的、用户也可以搜索到的日志文件类型。以下示例演示用于导航到 ID 为 `s-1234ABCDEFGH` 的步骤日志的命令。

   ```
   cd /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/
   ```

1. 使用您选择的文件查看器来查看日志文件。以下示例使用 Linux `less` 命令查看 `controller` 日志文件。

   ```
   less controller
   ```

## 查看归档到 Amazon S3 的日志文件
<a name="emr-manage-view-web-log-files-s3"></a>

默认情况下，使用控制台启动的 Amazon EMR 集群会自动将日志文件归档到 Amazon S3。您可以指定自己的日志路径，也可以允许控制台自动为您生成日志路径。对于使用 CLI 或 API 启动的集群，您必须手动配置 Amazon S3 日志归档。

 将 Amazon EMR 配置为将日志文件存档到 Amazon S3 时，它会将文件存储在您指定的 S3 位置，即/ *cluster-id* /文件夹，其中*cluster-id*是集群 ID。

下表列出了 Amazon S3 上可能显示的一些日志文件。


| 位置 | 说明 | 
| --- | --- | 
|  //node*cluster-id*/  | 节点日志，包括引导操作、实例状态和此节点的应用程序日志。每个节点的日志会存储在标有该节点的 EC2 实例标识符的文件夹中。 | 
|  //*cluster-id*node/*instance-id*/*application*  | 由每个应用程序或与应用程序关联的守护进程创建的日志。例如，Hive 服务器日志位于 `cluster-id/node/instance-id/hive/hive-server.log` 中。 | 
|  //*cluster-id*step *step-id* s//  | 步骤日志，其中包含有关步骤处理的信息。的值*step-id*表示 Amazon EMR 分配的步骤编号。例如，一个集群有两个步骤：`s-1234ABCDEFGH` 和 `s-5678IJKLMNOP`。第一步位于 `/mnt/var/log/hadoop/steps/s-1234ABCDEFGH/` 中，第二步位于 `/mnt/var/log/hadoop/steps/s-5678IJKLMNOP/` 中。  Amazon EMR 写入的步骤日志如下。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html)  | 
|  /*cluster-id*/容器  |  应用程序容器日志。每个 YARN 应用程序的日志均存储在这些位置。  | 
|  //hadoop-mapred *cluster-id* uce/  | 包含有关配置详细信息和作业历史记录信息的日志。 MapReduce | 

**使用 Amazon S3 控制台查看存档到 Amazon S3 的日志文件**

1. 登录 AWS 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 打开您在配置集群时指定的 S3 存储桶，以便将日志文件归档在 Amazon S3 中。

1. 导航到包含待显示信息的日志文件。上表提供了一系列可用的、用户也可以搜索到的日志文件类型。

1. 下载日志文件对象以进行查看。有关说明，请参阅[下载对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html)。