2017-02-13 59 views
1

我有一项工作需要很长时间才能在DataProc上运行。与此同时,我需要能够开展其他小型工作。如何在Google Dataproc上运行两个并行作业

从我可以从Google Dataproc文档中收集到的信息来看,该平台应该支持多个作业,因为它使用YARN动态分配资源。

但是,当我尝试启动多个作业时,它们排队等待,直到群集空闲时才启动。

所有设置都是默认设置。我怎样才能让多个作业同时运行?

回答

2

Dataproc确实支持多个并发作业。但是,托管多个作业的能力取决于Yarn是否拥有主管应用程序主文件(或作业将排队)或实际工作人员(或作业需要很长时间)的可用能力。

大型作业请求的容器数量取决于分区数量。使用默认设置,Dataproc工作人员将支持2个Mapper或Reducer任务。如果您正在处理100个文件,并且每个文件都是一个分区,则现在可以分配整个群集容量。

有几件事情你可以做:一个单独的集群上

  • 运行的小作业。你理想的集群配置是当一个人的工作占据了整个集群,或N职位均匀共享集群

  • 添加额外的工人到您当前群集和/或抢占工人实验(您可以使用clusters update命令调整[2] )

  • (高级)试验不同的纱线调度(参见[1]用于与队列公平调度器)

[1] https://blog.cloudera.com/blog/2016/06/untangling-apache-hadoop-yarn-part-4-fair-scheduler-queue-basics/

[2] https://cloud.google.com/sdk/gcloud/reference/dataproc/clusters/update

相关问题