

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

# 查看 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/` 中。<br /> Amazon EMR 写入的步骤日志如下。[See the AWS documentation website for more details](http://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html) | 

**使用 Amazon 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/` 中。<br /> Amazon EMR 写入的步骤日志如下。[See the AWS documentation website for more details](http://docs.amazonaws.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. 登录 Amazon Web Services 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

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

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

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