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

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

您可以使用多种工具收集有关集群的信息,以帮助确定出错的位置。一些工具需要您在启动集群时对它们进行初始化;其他工具则适用于每个集群。

显示集群详细信息的工具

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

Amazon EMR 控制台详细信息窗格

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

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

Amazon EMR 命令行界面

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

Amazon EMR API

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

运行脚本和配置流程的工具

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

查看并重启应用程序进程

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

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

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

查看日志文件的工具

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

主节点 (master node) 上的日志文件

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

归档到 Amazon S3 的日志文件

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

监控集群性能的工具

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

Hadoop Web 界面

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

CloudWatch 指标

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