Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

步骤 4:检查集群和实例运行状况

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

集群中最多有三种类型的节点:

  • 主节点 – 管理集群。如果主节点遇到性能问题,整个集群都会受到影响。

  • 核心节点 – 处理 map-reduce 任务并保持 Hadoop 分布式文件系统 (HDFS)。如果这些节点之一遇到了性能问题,就会降低 HDFS 操作和 map-reduce 处理的速度。您可以向集群添加其他核心节点以改进性能,但无法移除核心节点。有关更多信息,请参阅手动调整正在运行的集群的大小

  • 任务节点 – 处理 map-reduce 任务。这些纯粹是计算资源,并不存储数据。您可以向集群添加任务节点,提高性能速度,或移除不需要的任务节点。有关更多信息,请参阅 手动调整正在运行的集群的大小

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

使用 CloudWatch 检查集群运行状况

每个 Amazon EMR 集群都会向 CloudWatch 报告指标。这些指标提供集群的概括性性能信息,如总负载、HDFS 使用率、正在运行的任务、其余任务、损坏的数据块等。查看 CloudWatch 指标可以让您了解集群进展的概况,深入剖析造成处理减速的原因。除了使用 CloudWatch 分析现有性能问题,您还可以设置警报,如果未来出现性能问题,就会让 CloudWatch 发出警报。有关更多信息,请参阅使用 CloudWatch 监控指标

检查作业状态和 HDFS 运行状况

使用集群详细信息页面上的 Application history (应用程序历史记录) 可查看 YARN 应用程序详细信息。对于某些应用程序,您可以深入了解更多详细信息和直接访问日志。这对 Spark 应用程序特别有用。有关更多信息,请参阅 查看应用程序历史记录

Hadoop 向您提供可用于查看信息的一系列 Web 界面。有关如何访问这些 Web 界面的详细信息,请参见 查看 Amazon EMR 集群上托管的 Web 界面

  • JobTracker - 提供关于集群正在处理的作业的进度信息。您可以使用此界面确定作业陷入困境的时间。

  • HDFS NameNode - 提供关于 HDFS 使用率百分比和每个节点可用空间的信息。您可以使用此界面确定 HDFS 受到资源约束和需要其他容量的时间。

  • TaskTracker - 提供关于集群正在处理的作业任务的信息。您可以使用此界面确定任务陷入困境的时间。

使用 Amazon EC2 查看实例运行状况

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