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

从控制台访问 Spark 历史记录服务器 UI

利用 5.25.0 版及更高版本的 Amazon EMR,您可以从控制台中的集群 Summary (摘要) 页面或 Application history (应用程序历史记录) 选项卡连接到 Spark 历史记录服务器 UI,而无需通过 SSH 连接设置 Web 代理。从控制台访问 Spark 历史记录服务器 UI 可提供以下好处:

  • 您可以通过查看 Spark 执行历史记录的详细信息并访问相关日志文件,快速分析活动作业和作业历史记录并排查其问题。

  • 您可以访问 Spark 历史记录并进行调试,甚至在集群终止后也是如此。日志可用于活动集群,并将在集群终止后保留 30 天。

如果您对集群使用私有子网,请确保在私有子网的 Amazon S3 策略的资源列表中包含 “arn:aws:s3:::prod.MyRegion.appinfo.src/*”。有关更多信息,请参阅私有子网的最小 Amazon S3 策略

要从 Spark 历史记录服务器 UI 访问 YARN 容器日志,您必须为集群启用 Amazon S3 日志记录。有关更多信息,请参阅配置集群日志记录和调试

事件日志收集

Amazon EMR 将 Spark 事件日志收集到 EMR 系统存储桶中,以允许从控制台访问 Spark 历史记录服务器 UI。通过使用 Amazon S3 托管密钥的服务器端加密 (SSE-S3) 对事件日志进行静态加密。如果您出于隐私原因需要禁用此功能,则可在创建集群时使用引导脚本来停止守护程序,如以下示例所示。

aws emr create-cluster --name "Stop SparkUI Support" --release-label emr-5.27.0 --applications Name=Hadoop Name=Spark --ec2-attributes KeyName=keyname --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=CORE,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=TASK,InstanceCount=1,InstanceType=m3.xlarge --use-default-roles --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/run-if,Args=["instance.isMaster=true","echo Stop Spark UI | sudo tee /etc/apppusher/run-apppusher"]

运行此引导脚本后,Amazon EMR 不会将任何 Spark 事件日志收集到 EMR 系统存储桶中。Application history (应用程序历史记录) 选项卡上没有可用的应用程序历史记录信息,并且您将无法从控制台访问 Spark 历史记录服务器 UI。

注意事项和限制

目前,此功能具有以下限制:

  • 目前,从控制台访问 Spark 历史记录服务器 UI 不适用于具有多个主节点的 EMR 集群或与 AWS Lake Formation 集成的 EMR 集群。

  • 要从控制台访问 Spark 历史记录服务器 UI,您必须有权对 EMR 执行 ListSteps 操作。如果您拒绝 IAM 委托人对此操作的权限,则传播权限更改所需的时间大约为 5 分钟。

  • 如果在正在运行的集群中重新配置 Spark 应用程序,则将无法通过 Spark 历史记录服务器 UI 获取应用程序历史记录。

  • 对于每个 AWS 账户,活动 Spark 历史记录服务器 UI 数不能超过 50。

  • 您可以在以下区域从控制台访问 Spark 历史记录服务器 UI:美国东部(弗吉尼亚北部和俄亥俄)、美国西部(加利福尼亚北部和俄勒冈)、加拿大(中部)、欧洲(法兰克福、爱尔兰和伦敦)、亚太地区(孟买、首尔、新加坡、悉尼和东京)区域。

通过 Spark 历史记录服务器 UI 访问应用程序历史记录

在 Amazon EMR 控制台中的 Application history (应用程序历史记录) 选项卡或集群 Summary (摘要) 页面上,选择 Spark history server UI (Spark 历史记录服务器 UI) 链接。

这将在新的浏览器选项卡中打开 Spark 历史记录服务器 UI。如果您通过 SSH 连接设置 Web 代理,则此 Web 界面将显示与开源 Spark 历史记录服务器 UI 相同的信息。有关更多信息,请参阅监控和分析

您可以通过 Spark 历史记录服务器 UI 上的链接来查看 YARN 容器日志。

注意

要从 Spark 历史记录服务器 UI 访问 YARN 容器日志,您必须为集群启用 Amazon S3 日志记录。如果未启用日志记录,则指向 YARN 容器日志的链接将不起作用。