3

我设置了spark-yarn集群环境,spark(2.2.0)在Windows 7中;纱线簇是hadoop 2.7.3。只有一个spark-submit允许在spark-yarn集群环境中运行

我跑“火花壳”使用SparkSQL:

spark-shell --master yarn --deploy-mode client --conf spark.yarn.archive=hdfs://hadoop_273_namenode_ip:namenode_port/spark-archive.zip 

一切都OK现在,但是当我开始另一种“火花壳”,该消息下方,似乎永远不会结束,输出到控制台:

17/10/17 17:33:53 INFO Client: Application report for application_1640_0003 (state: ACCEPTED) 

在ResourceManager中的Web UI应用程序状态显示

[application status] ACCEPTED: waiting for AM container to be allocated, launched and register with RM 

如果我关闭的F首先是“火花外壳”,第二个能够很好地工作。

看起来,它不允许在同一时间(在我的环境中)多个spark-shell(spark-submit)。

如何突破限制?

+1

可能是第一份工作占用了所有可用资源。因此,第二份工作需要等待一些人在跑步之前获得自由。 – Shaido

回答

1

等待AM容器被分配

这是一个种源的限制,所以你可以做你的第一JB消耗更少的资源。

会发生什么情况是,第一份工作会消耗所有可用资源,到第二份工作出现时,什么都不是free'd,因此第二份工作必须等待资源可用。

这就是为什么当你关闭第一个shell时,另一个会启动。

+0

Thannks @gsamaras,我使用功能更强大的机器(16个vcpus,112 GB内存),与之前使用的(8个vcpus,28 GB内存)相比,但没有效果。并尝试更改纱线的某些设置,但仍无法使用。有一点要提到的是我的纱线环境是以伪分布模式部署的,你认为它是否是我的问题的原因? –