

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

# 步骤 4：检查 Amazon EMR 集群和实例运行状况
<a name="emr-troubleshoot-slow-4"></a>

 Amazon EMR 集群由正在 Amazon EC2 实例上运行的节点组成。如果那些实例受到资源约束 (如耗尽 CPU 或内存)。遇到网络连接问题，或遭到终止，集群处理的速度会受到影响。

 集群中最多有三种类型的节点：
+  **主节点**：管理集群。如果主节点遇到性能问题，整个集群都会受到影响。
+  **核心节点**：处理 map-reduce 任务并维护 Hadoop 分布式文件系统（HDFS）。如果这些节点之一遇到了性能问题，就会降低 HDFS 操作和 map-reduce 处理的速度。您可以向集群添加其它核心节点以改进性能，但无法移除核心节点。有关更多信息，请参阅[手动调整正在运行的 Amazon EMR 集群的大小](emr-manage-resize.md)。
+  **任务节点**：处理 map-reduce 任务。这些纯粹是计算资源，并不存储数据。您可以向集群添加任务节点，提高性能速度，或移除不需要的任务节点。有关更多信息，请参阅[手动调整正在运行的 Amazon EMR 集群的大小](emr-manage-resize.md)。

 当您查看集群的运行状况时，应该既查看整个集群的性能，又查看各个实例的性能。您可以使用以下多种工具：

## 使用检查集群运行状况 CloudWatch
<a name="emr-troubleshoot-slow-4-cw"></a>

 每个 Amazon EMR 集群都会向其报告指标。 CloudWatch这些指标提供集群的概括性性能信息，如总负载、HDFS 使用率、正在运行的任务、其余任务、损坏的数据块等。查看这些 CloudWatch 指标可以让你大致了解集群的情况，并可以深入了解导致处理速度减慢的原因。除了使用 CloudWatch 分析现有性能问题外，您还可以设置警报，以便在将 CloudWatch 来出现性能问题时发出警报。有关更多信息，请参阅 [使用监控 Amazon EMR 指标 CloudWatch](UsingEMR_ViewingMetrics.md)。

## 检查任务状态和 HDFS 运行状况
<a name="emr-troubleshoot-slow-4-web-ui"></a>

使用集群详细信息页面上的 **Application user interfaces (应用程序用户界面)** 选项卡可查看 YARN 应用程序详细信息。对于某些应用程序，您可以深入了解更多详细信息和直接访问日志。这对 Spark 应用程序特别有用。有关更多信息，请参阅[查看 Amazon EMR 应用程序历史记录](emr-cluster-application-history.md)。

Hadoop 向您提供可用于查看信息的一系列 Web 界面。有关如何访问这些 Web 界面的详细信息，请参见 [查看 Amazon EMR 集群上托管的 Web 界面](emr-web-interfaces.md)。
+  JobTracker — 提供有关集群正在处理的作业进度的信息。您可以使用此界面确定作业陷入困境的时间。
+  HDFS NameNode — 提供有关 HDFS 利用率百分比和每个节点上的可用空间的信息。您可以使用此界面确定 HDFS 受到资源约束和需要其它容量的时间。
+  TaskTracker — 提供有关群集正在处理的作业的任务的信息。您可以使用此界面确定任务陷入困境的时间。

## 使用 Amazon EC2 查看实例运行状况
<a name="emr-troubleshoot-slow-4-ec2"></a>

 另一种查找集群中实例状态信息的方法是使用 Amazon EC2 控制台。因为集群中的每个节点在 EC2 实例上运行，您可以使用 Amazon EC2 提供的工具检查它们的状态。有关更多信息，请参阅[查看 Amazon EC2 中的集群实例](UsingEMR_Tagging.md)。