2017-04-01 108 views
7

我有一个在YARN上运行的spark工作,它似乎只是挂起而没有做任何计算。如何判断我的星火工作是否正在进行?

这里是纱说,当我做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

此外,当我点击“阶段”选项卡上,我什么也看不见运行:

Stages tab

如何确保我的应用程序实际上是运行和YARN是不是在骗我?

我实际上更喜欢这样抛出一个错误,而不是让我等待,看看这个工作是否有效运行。我怎么做?

回答

3

在火花应用程序UI

如果您点击链接:“实木复合地板在Nativexxxx”它会告诉你在运行阶段的详细信息。

在该屏幕上会出现一列“输入大小/记录”。如果你的工作正在进行,那列中显示的数字将会改变。

Image shows what I am trying to say

它基本上描述了你的阅读遗嘱执行人记录数。

+0

嗯。我没有看到。这是否意味着它没有进步? – Candic3

+0

我们可以把这个聊一下吗? – Candic3

+1

http://chat.stackoverflow.com/rooms/139996/spark-job-progress – Candic3

1

如果您转到Spark UI并搜索“执行程序”选项卡。在那里你会得到你的工作正在运行的列表执行者和旁边的执行者ID和地址,你将有“日志”栏,你将有“标准输出”&“标准错误”选项卡。点击标准输出,你可以看到当你的作业运行时,这些日志是写在你的容器上的。

+0

,但仅仅是因为日志正在写入 - 这是否意味着工作正在进行?日志可能写着“等待足够的资源”等等,对吧? – Candic3

+0

@ Candic3是的,你是对的。但这是跟踪日志的最佳方式,您还可以看到与YARN及其资源相关的所有信息。 – BadBoy777

+0

@ Candic3看起来像你没有足够的资源在你的纱线群中。 – Kaushal

1

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

相关问题