在Google Cloud Dataproc中按顺序运行提交的作业

问题描述 投票:0回答:1

我使用n1-standard-4虚拟机为主人和工人创建了带有2名工作人员的Google Dataproc集群。

我想在给定集群上提交作业,并且所有作业应按顺序运行(例如在AWS EMR上),即,如果第一个作业处于运行状态,则即将到来的作业进入待处理状态,在完成第一个作业后,第二个作业开始运行。

我尝试在集群上提交作业,但它并行运行所有作业 - 没有任何作业进入待处理状态。

我可以在Dataproc群集中设置任何配置,以便所有作业按顺序运行吗?

更新了以下文件:

/etc/Hadoop/conf/yarn-site.XML

  <property>
      <name>yarn.resourcemanager.scheduler.class</name>
      <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
   </property>
   <property>
      <name>yarn.scheduler.fair.user-as-default-queue</name>
      <value>false</value>
   </property>
   <property>
      <name>yarn.scheduler.fair.allocation.file</name>
      <value>/etc/hadoop/conf/fair-scheduler.xml</value>
   </property>

/etc/Hadoop/conf/fair-scheduler.XML

<?xml version="1.0" encoding="UTF-8"?>
<allocations>
   <queueMaxAppsDefault>1</queueMaxAppsDefault>
</allocations>

之后使用此命令重新启动服务systemctl restart hadoop-yarn-resourcemanager上面对主节点的更改。但仍然是并行工作。

hadoop yarn google-cloud-dataproc
1个回答
3
投票

如果资源可用,Dataproc会尝试并行执行提交的作业。

要实现顺序执行,您可能需要使用一些编排解决方案,Dataproc WorkflowsCloud Composer

或者,您可能希望在Dataproc上使用configure YARN Fair Scheduler并将queueMaxAppsDefault属性设置为1。

© www.soinside.com 2019 - 2024. All rights reserved.