本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用用户模拟以监控 Spark 用户和任务活动
注意
EMR笔记本电脑可在控制台中作为 EMR Studio 工作区使用。控制台中的 “创建工作区” 按钮允许您创建新的笔记本。要访问或创建工作区,EMRNotebook 用户需要额外的IAM角色权限。有关更多信息,请参阅 Amazon EMR Notebook 是控制台和亚马逊控制台中的 Ama z EMR on EMR Studio 工作空间。
EMR笔记本允许您在 Spark 集群上配置用户模拟。此功能可帮助您跟踪从笔记本编辑器内启动的作业活动。此外,EMRNotebooks 还内置了 Jupyter Notebook 控件,可以在笔记本编辑器中查看 Spark 作业详细信息以及查询输出。默认情况下,此小部件处于可用状态,无需特殊配置。但是,要查看历史服务器,必须将您的客户端配置为查看主节点上托管的 Amazon EMR Web 界面。
设置 Spark 用户模拟
默认情况下,用户使用笔记本编辑器提交的 Spark 作业似乎源自一个模糊的 livy
用户身份。您可以为集群配置用户模拟,以便这些任务与运行代码的用户身份相关联。HDFS在主节点上为在笔记本中运行代码的每个用户身份创建用户目录。例如,如果用户 NbUser1
从笔记本编辑器运行代码,您可以连接主节点并可以看到 hadoop fs -ls /user
显示目录 /user/user_NbUser1
。
您可以在 core-site
和 livy-conf
配置分类中设置属性以启用该功能。当您让 Amazon EMR 创建集群和笔记本时,默认情况下此功能不可用。有关使用配置分类自定义应用程序的更多信息,请参阅 Amazon EMR 发行指南中的配置应用程序。
使用以下配置分类和值为 Notebook 启用用户模拟: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 集群上托管的网页界面。要查看 Amazon S3 中的日志,必须启用集群日志记录,这是新集群的默认设置。有关更多信息,请参阅查看归档到 Amazon S3 的日志文件。
以下是一个 Spark 任务监控示例。
![alt_text](images/spark_monitoring_job_progress.png)