如何在 Amazon EMR 中访问 Spark UI?

1 分钟阅读
0

我想查看 Amazon EMR 集群上托管的 Apache Spark Web 界面。

解决方法

Spark History Server 是一个 Web UI,您可以在其中查看 EMR 集群上正在运行和已完成的 Spark 作业的状态。

以下是访问公有和私有子网中托管的 Spark UI 的常用方法:

  • 持久性应用程序用户界面
  • 集群上应用程序用户界面

持久性应用程序用户界面

在您的 EMR 集群中,apppusher 进程守护程序会定期将 Spark 事件日志发送到 Amazon EMR 生产桶。持久性 Spark UI 使用事件日志显示 Spark 应用程序。

当应用程序的事件日志目录位于 HDFS 中时,此功能起作用。默认情况下,Amazon EMR 将事件日志存储在 HDFS 的 /var/log/spark/apps 目录中。如果您将默认目录更改为其他文件系统,例如 Amazon Simple Storage Service(Amazon S3),则此功能不起作用。有关更多信息,请参阅注意事项和限制

您可以访问活动集群和已终止集群的应用程序历史记录和相关日志文件。这些日志在应用程序结束后的 30 天内可用。有关更多信息,请参阅查看持久性应用程序用户界面

集群上应用程序用户界面

集群上用户界面托管在主节点上,需要通过 SSH 连接到 Web 服务器。

要访问集群上 UI,请执行以下操作:

1.    使用 SSH 连接到主节点

2.    配置具有动态端口转发的 SSH 隧道。

3.    将您的互联网浏览器配置为使用附加组件(例如 FoxyProxy for Firefox 或 SwitchyOmega for Chrome)来管理您的 SOCKS 代理设置。

此方法根据文本模式自动筛选 URL。此外,此方法将代理设置限制为与主节点的 DNS 名称形式相匹配的域。

ssh -i ~/mykeypair.pem -N -L 8157:ec2-###-##-##-###.compute-1.amazonaws.com:18080 hadoop@ec2-###-##-##-###.compute-1.amazonaws.com

有关更多信息,请参阅选项 1:使用本地端口转发设置到主节点的 SSH 隧道​。

除非您通过 VPN 连接或 AWS Direct Connect 使用本地网络,否则无法直接访问私有子网中的集群上 UI。而且,您必须配置路由,以使通信跨越 AWS 和本地网络。

或者,您可以使用公有子网中托管的堡垒机或跳转服务器连接到私有子网。然后,创建具有动态端口转发的 SSH 隧道。

有关更多信息,请参阅 Securely access web interfaces on Amazon EMR launched in a private subnet(安全访问在私有子网中启动的 Amazon EMR 上的 Web 界面)。


AWS 官方
AWS 官方已更新 1 年前