提供了哪些可用于故障排查的工具? - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

提供了哪些可用于故障排查的工具?

要识别和修复集群错误,您可以使用本页上描述的工具。启动集群时,您可能需要初始化一些工具。默认情况下,每个集群都可以使用其他工具。

查看 EMR 集群详细信息

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 EMR API 检索有关 EMR 集群和作业执行的详细信息。有关使用 Amazon Web Services Management Console和 Amazon CLI 的更多信息,请参阅查看集群状态和详细信息

Amazon EMR 控制台详细信息窗格

在 Amazon EMR 控制台上的集群列表中,您可查看有关您的账户和 Amazon Web Services 区域 中每个集群的状态的概要信息。此列表显示您过去两个月启动的所有活动和已终止的集群。从 Clusters (集群) 列表中,您可选择集群的 Name (名称) 以查看集群详细信息。此信息已进行分类,可轻松导航。

集群详细信息页面中提供的应用程序用户界面对排查集群的问题较为有用。它提供了 YARN 应用程序的状态,对于部分应用程序(如 Spark 应用程序),您可深入了解各种指标和方面(如作业、阶段和执行程序)。有关更多信息,请参阅查看应用程序历史记录。。此功能仅在 Amazon EMR 5.8.0 及更高版本中提供。

Amazon EMR 命令行界面

您可以使用 --describe 参数从 Amazon CLI 中查找有关某一集群的详细信息。

Amazon EMR API

您可以使用 DescribeJobFlows 操作从 API 中查找有关某一集群的详细信息。

查看 EMR 集群错误详细信息

当 EMR 集群因错误而终止时,DescribeClusterListClusters API 会返回错误代码和错误消息。对于选定的集群错误,ErrorDetail 数据数组可以帮助您排查失败原因。

有关包含 ErrorDetail 数据的错误代码列表,请参阅 包含 ErrorDetail 信息的错误代码

注意

为确保向您提供最相关的信息,我们会不断完善错误消息。我们不建议您解析 ErrorMessage 中的文本,因为此文本可能会发生变化。

运行脚本和配置 Amazon EMR 流程

作为故障排除过程的一部分,您可能会发现在集群上运行自定义脚本或查看和配置集群进程很有帮助。

查看并重启应用程序进程

查看集群上正在运行的进程以诊断潜在问题可能会很有帮助。您可以通过连接到集群的主节点 (master node) 停止并重新启动集群进程。有关更多信息,请参阅查看并重新启动 Amazon EMR 和应用程序进程(进程守护程序)

在不连接 SSH 的情况下运行命令和脚本

要在集群上运行命令或脚本,可以使用command-runner.jar或者script-runner.jar工具,而无需与主节点 (master node) 建立 SSH 连接。有关更多信息,请参阅在 Amazon EMR 集群上运行命令和脚本

查看日志文件

Amazon EMR 和 Hadoop 都会在集群运行时生成日志文件。根据在启动集群时指定的配置,您可以从多种不同工具中访问这些日志文件。有关更多信息,请参阅配置集群日志记录和调试

主节点 上的日志文件

每个集群都会将日志文件发布到主节点上的 /mnt/var/log/ 目录。仅在集群处于运行状态时才能获取这些日志文件。

归档到 Amazon S3 的日志文件

如果您启动集群并指定 Amazon S3 日志路径,则集群会每隔 5 分钟将存储在主节点上 /mnt/var/log/ 中的日志文件复制到 Amazon S3。这样可确保即使在终止集群后也可以访问日志文件。因为文件的存档间隔是 5 分钟,所以可能无法获取突然终止集群的最后几分钟的状况信息。

监控 EMR 集群的性能

Amazon EMR 提供了多种用于监控集群性能的工具。

Hadoop Web 界面

每个集群都会将一组 Web 界面 (包含有关集群的信息) 发布到主节点上。您可以使用 SSH 隧道连接主节点上的这些网页,从而对它们进行访问。有关更多信息,请参阅查看 Amazon EMR 集群上托管的 Web 界面

CloudWatch metrics(CloudWatch 指标)

每个集群都会向 CloudWatch 报告指标。CloudWatch 是一种跟踪指标的 Web 服务,您可以使用此服务对这些指标设置警报。有关更多信息,请参阅使用 CloudWatch 指标监控 Amazon EMR 指标