如何在Google Dataproc上运行两个并行作业

时间:2017-02-13 14:26:55

标签: google-cloud-platform google-cloud-dataproc

我有一份工作需要很长时间才能在DataProc上运行。与此同时,我需要能够运行其他较小的工作。

根据我从Google Dataproc文档中收集的内容,该平台应支持多个作业,因为它使用YARN动态分配资源。

但是,当我尝试启动多个作业时,它们会排队,并且在群集空闲之前不会启动。

默认情况下,所有设置。如何启用同时运行的多个作业?

1 个答案:

答案 0 :(得分:6)

Dataproc确实支持多个并发作业。但是,它承载多个作业的能力取决于Yarn是否具有托管Application Master的可用容量(或者作业将排队)或实际的工作者(或作业需要很长时间)。

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

你可以做一些事情:

  • 在单独的群集上运行较小的作业。理想的群集配置是一个作业占用整个群集,或N个作业均匀共享群集

  • 将额外的工作人员添加到当前群集和/或尝试使用可抢占的工作人员(您可以使用clusters update命令调整大小[2])

  • (高级)使用不同的Yarn调度程序进行实验(有关队列的Fair调度程序,请参阅[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