2016-05-29 105 views
1

例如,我的Spark集群有100个节点(工作人员),当我运行一个作业时,我只希望它在大约10个特定节点上运行,我应该如何实现这一点。顺便说一句,我正在使用Spark独立模块。如何在特定节点上运行Spark作业

为什么需要上述要求:

One of my Spark job needs to access NFS, but there are only 10 nodes were 
permitted to access NFS, so if the job was distributed on each Worker nodes(100 nodes), 
then access deny exception would happen and the job would failed. 
+0

添加更多详细信息(例如,设置的作业,配置,作业代码等)。 –

+1

Mesos上的Spark允许您根据属性和资源设置约束,但AFAIK standalone不具备此类功能。你为什么需要这个? – zero323

+0

@ zero323谢谢,我修改了我的问题。 – Jack

回答

2

星火工人受数据局部性 “选择”。这意味着数据所在节点上的唯一工作人员将会工作。所以,一种方法是仅将这些文件保存在这些节点上。在独立模式下没有直接选择特定节点的方法。而且,这意味着作业始终需要通过在节点之间移动大量数据开始,这不是非常有效。

+0

谢谢,如果我使用Yarn或Mesos,是否可以指定一个工作的特定节点? – Jack

相关问题