如何判断我的火花工作是否正在进行?

时间:2017-04-01 02:27:54

标签: apache-spark pyspark yarn

我在YARN上运行了一个火花作业,它似乎只是挂起而没有进行任何计算。

这是我做yarn application -status <APPLICATIOM ID>时所说的纱线:

Application Report : 
Application-Id : applicationID
Application-Name : test app
Application-Type : SPARK
User : ec2-user
Queue : default
Start-Time : 1491005660004
Finish-Time : 0
Progress : 10%
State : RUNNING
Final-State : UNDEFINED
Tracking-URL : http://<ip>:4040
RPC Port : 0
AM Host : <host ip>
Aggregate Resource Allocation : 36343926 MB-seconds, 9818 vcore-seconds
Log Aggregation Status : NOT_START
Diagnostics : 

而且,当我检查yarn application -list时,它说它是RUNNING。但我不确定我是否相信。当我去火花webUI时,我只看到一个阶段,整个几个小时我一直在运行它:

web UI

另外,当我点击&#34;阶段&#34;选项卡,我看不到任何运行:

Stages tab

如何确保我的应用程序实际运行且YARN不对我说谎?

我实际上更喜欢这样做而不是让我等着看这份工作是否正在运行。我该怎么做?

3 个答案:

答案 0 :(得分:4)

在spark应用程序UI

如果您点击链接:&#34;在Nativexxxx&#34;它会显示运行阶段的详细信息。

在该屏幕上会有一列&#34;输入大小/记录&#34;。如果您的工作正在进行,该列中显示的数字将会改变。

Image shows what I am trying to say

它基本上描述了执行者读取的记录数。

答案 1 :(得分:1)

如果您访问Spark UI并搜索“executors”选项卡。在那里,您将拥有运行您的工作的列表执行程序,并且在执行者ID和地址旁边您将拥有“日志”列,您将拥有“stdout”&amp; “stderr”标签。单击标准输出,您可以在那里看到作业运行时写在容器上的日志。

答案 2 :(得分:1)

YARN说它正在运行,因为应用程序没有退出或被杀死。  它不知道它是否卡住了。在您的情况下,您可以在纱线客户端模式下运行Spark作业,并查看应该建议它是否真正运行的日志。