Spark不使用Yarn Cluster Resources

时间:2016-05-11 09:55:29

标签: python hadoop apache-spark yarn ambari

我正在尝试在Hadoop集群(2.4.2)上使用Spark(1.6.1)运行Python脚本。使用Ambari(2.2.1.1)安装,配置和管理集群。

我有一个4个节点的集群(每个40Gb HD-8核心--16Gb RAM)。

我的脚本使用sklearn lib:所以为了在spark上并行化我使用spark_sklearn lib(在https://databricks.com/blog/2016/02/08/auto-scaling-scikit-learn-with-spark.html上看到它)。

此时我尝试使用以下命令运行脚本:

spark-submit spark_example.py --master yarn --deploy-mode client --num-executors 8 --num-executor-core 4 --executor-memory 2G

但它始终在localhost上运行,只有一个执行程序。

enter image description here

同样来自Ambari仪表板,我可以看到群集中只有一个节点消耗资源。并且还尝试不同的配置(执行程序,核心),执行时间是相同的。

更新

这是Yarn UI Nodes截图:

enter image description here

这是“计划程序”选项卡:

enter image description here enter image description here

有什么想法吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

由于Hortonworks Community.

对同一问题的回答,我会回复自己

设置参数MASTER="yarn-cluster"(或MASTER="yarn-client")似乎有效:现在我在Spark History和YARN History UI中看到应用程序报告。

enter image description here

ps:似乎没有考虑通过命令行传递的参数(例如:--num-executors 8--num-executor-core 4--executor-memory 2G)。相反,如果我在Ambari的“spark-env template”字段中设置执行者参数,则会考虑参数。无论如何它现在有效:)

我希望将来可以帮助某人。