我有一份工作需要很长时间才能在DataProc上运行。与此同时,我需要能够运行其他较小的工作。
根据我从Google Dataproc文档中收集的内容,该平台应支持多个作业,因为它使用YARN动态分配资源。
但是,当我尝试启动多个作业时,它们会排队,并且在群集空闲之前不会启动。
默认情况下,所有设置。如何启用同时运行的多个作业?
答案 0 :(得分:6)
Dataproc确实支持多个并发作业。但是,它承载多个作业的能力取决于Yarn是否具有托管Application Master的可用容量(或者作业将排队)或实际的工作者(或作业需要很长时间)。
较大作业将请求的容器数取决于分区数。使用默认设置,Dataproc工作人员将支持2个Mapper或Reducer任务。如果您正在处理100个文件,并且每个文件都是分区,则现在已分配整个群集容量。
你可以做一些事情:
在单独的群集上运行较小的作业。理想的群集配置是一个作业占用整个群集,或N个作业均匀共享群集
将额外的工作人员添加到当前群集和/或尝试使用可抢占的工作人员(您可以使用clusters update
命令调整大小[2])
(高级)使用不同的Yarn调度程序进行实验(有关队列的Fair调度程序,请参阅[1])
[2] https://cloud.google.com/sdk/gcloud/reference/dataproc/clusters/update