AWS EMR上的Spark UI

时间:2015-07-16 16:46:16

标签: apache-spark amazon-emr

我正在运行通过EMR控制台下拉列表安装Spark(1.3.1)的AWS EMR集群。 Spark是当前和处理数据,但我试图找到已分配给WebUI的端口。我尝试过端口转发4040和8080没有连接。我这样转发

ssh -i ~/KEY.pem -L 8080:localhost:8080 hadoop@EMR_DNS

1)如何找出Spark WebUI分配的端口是什么? 2)如何验证Spark WebUI是否正在运行?

5 个答案:

答案 0 :(得分:11)

针对YARN配置了针对EMR的Spark,因此YARN资源管理器(http://spark.apache.org/docs/latest/monitoring.html)提供的应用程序URL可以使用Spark UI。因此,最简单的方法是使用SSH打开的端口使用SOCKS设置浏览器,然后从EMR控制台打开资源管理器,并单击正在运行的应用程序右侧提供的应用程序主URL。 Spark History服务器在默认端口18080上可用。

http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-web-interfaces.html

处使用EMR的袜子示例

答案 1 :(得分:6)

如果您不想按照EMR文档中的建议使用SOCKS处理浏览器设置,可以选择以下方法。

  1. 打开到主节点的ssh隧道,并将端口转发到运行spark ui的机器

    ssh -i path/to/aws.pem  -L 4040:SPARK_UI_NODE_URL:4040 hadoop@MASTER_URL
    

    MASTER_URL(问题中的EMR_DNS)是您可以从群集的EMR管理控制台页面获取的主节点的URL

    可以在stderr日志的顶部附近看到SPARK_UI_NODE_URL。日志行看起来像:

    16/04/28 21:24:46 INFO SparkUI: Started SparkUI at http://10.2.5.197:4040
    
  2. 将浏览器指向localhost:4040

  3. 在运行Spark 2.6.1的EMR 4.6上试过这个。

答案 2 :(得分:2)

很高兴宣布此功能终于在AWS上可用。您无需运行任何特殊命令(或配置SSH隧道): enter image description here

通过单击Spark历史记录服务器ui的链接,您将能够查看旧的应用程序日志,或访问正在运行的spark作业的ui:

enter image description here

希望对您有帮助!

答案 3 :(得分:0)

只需执行以下步骤:

  

ssh -i /您的路径/aws.pem -N -L 20888:ip-172-31-42-70.your-region.compute.internal:20888 hadoop@ec2-xxx.compute.amazonaws.com .cn

您需要更改3个地方:

  1. 您的.pem文件
  2. 您的内部主节点IP
  3. 您的公共DNS域。

最后,在Yarn UI上,您可以单击Spark应用程序跟踪URL,然后只需替换“ http://your-internal-ip:20888/proxy/application_1558059200084_0002/

http://localhost:20888/proxy/application_1558059200084_0002/

它适用于EMR 5.x

答案 4 :(得分:-1)

只需使用SSH隧道即可 在您的本地机器上执行:

ssh -i / path / to / pem -L 3000:ec2-xxxxcompute-1.amazonaws.com:8088 hadoop@ec2-xxxxcompute-1.amazonaws.com

在本地计算机浏览器上点击:

本地主机:3000