在googleclouddataproc中按顺序运行提交的作业

yzuktlbb  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(380)

我创建了googledataproc集群,其中有两个工人使用 n1-standard-4 主机和工人的虚拟机。
我想提交一个给定集群上的作业,所有作业都应该按顺序运行(如在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 主节点上的上述更改。但这项工作仍在并行运行。

46qrfjad

46qrfjad1#

如果资源可用,dataproc将尝试并行执行提交的作业。
为了实现顺序执行,您可能需要使用一些编排解决方案,dataproc工作流或cloud composer。
或者,您可能需要在dataproc上配置公平调度程序并设置 queueMaxAppsDefault 属性设置为1。

相关问题