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

监控 Spark 用户和作业活动

借助 EMR 笔记本,您可以在 Spark 集群上配置用户模拟。此功能可帮助您跟踪从笔记本编辑器内启动的作业活动。此外,EMR 笔记本 有一个内置的 Jupyter Notebook 小部件,您可以借此在笔记本编辑器的查询输出旁边查看 Spark 作业详细信息。默认情况下,此小部件处于可用状态,无需特殊配置。但是,要查看历史记录服务器,您的客户端必须配置为查看主节点上托管的 Amazon EMR Web 界面。

设置 Spark 用户模拟

默认情况下,用户使用笔记本编辑器提交的 Spark 作业似乎源自一个模糊的 livy 用户身份。您可以为集群配置用户模拟,以便这些作业与运行代码的 IAM 用户身份相关联。系统会为在笔记本中运行代码的每个用户身份在主节点上创建 HDFS 用户目录。例如,如果用户 NbUser1 从笔记本编辑器运行代码,您可以连接主节点并可以看到 hadoop fs -ls /user 显示目录 /user/user_NbUser1

您可以在 core-sitelivy-conf 配置分类中设置属性以启用该功能。如果您让 Amazon EMR 同时创建集群和笔记本,那么默认情况下,此功能将不可用。有关使用配置分类自定义应用程序的更多信息,请参阅 Amazon EMR 版本指南中的配置应用程序

使用以下配置分类和值为 EMR 笔记本 启用用户模拟:

[ { "Classification": "core-site", "Properties": { "hadoop.proxyuser.livy.groups": "*", "hadoop.proxyuser.livy.hosts": "*" } }, { "Classification": "livy-conf", "Properties": { "livy.impersonation.enabled": "true" } } ]

使用 Spark 作业监控小部件

如果运行代码的笔记本编辑器在 EMR 集群上执行 Spark 作业,那么输出会包含一个用于监控 Spark 作业的 Jupyter Notebook 小部件。此小部件会提供作业详细信息、指向 Spark 历史记录服务器页面和 Hadoop 作业历史记录页面的有用链接,以及指向 Amazon S3 中有关任何失败作业的作业日志的便捷链接。

要查看集群主节点上的历史记录服务器页面,您必须根据需要设置 SSH 客户端和代理。有关更多信息,请参阅查看 Amazon EMR 集群上托管的 Web 界面。要查看 Amazon S3 中的日志,必须启用集群日志记录,这是新集群的默认设置。有关更多信息,请参阅查看存档到 Amazon S3的日志文件

以下是一个 Spark 作业监控小部件示例。

alt_text