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

Hadoop 在Google Cloud Dataproc中按顺序运行提交的作业,hadoop,yarn,google-cloud-dataproc,Hadoop,Yarn,Google Cloud Dataproc,我创建了GoogleDataProc集群,其中有两个工人,他们使用了主机和工人的n1-standard-4VMs 我想提交给定集群上的作业,所有作业都应该按顺序运行(就像在AWS EMR上一样),即,如果第一个作业处于运行状态,则即将到来的作业将进入挂起状态,完成第一个作业后,第二个作业开始运行 我尝试在集群上提交作业,但它并行运行所有作业-没有作业进入挂起状态 是否有任何配置可以在Dataproc集群中设置,以便所有作业都按顺序运行 更新了以下文件: /etc/hadoop/conf/warn

我创建了GoogleDataProc集群,其中有两个工人,他们使用了主机和工人的
n1-standard-4
VMs

我想提交给定集群上的作业,所有作业都应该按顺序运行(就像在AWS EMR上一样),即,如果第一个作业处于运行状态,则即将到来的作业将进入挂起状态,完成第一个作业后,第二个作业开始运行

我尝试在集群上提交作业,但它并行运行所有作业-没有作业进入挂起状态

是否有任何配置可以在Dataproc集群中设置,以便所有作业都按顺序运行

更新了以下文件:

/etc/hadoop/conf/warn 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>

warn.resourcemanager.scheduler.class
org.apache.hadoop.warn.server.resourcemanager.scheduler.fair.FairScheduler
warn.scheduler.fair.user-as-default-queue
假的
warn.scheduler.fair.allocation.file
/etc/hadoop/conf/fair-scheduler.xml
/etc/hadoop/conf/fair scheduler.xml

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

1.

之后,使用此命令重新启动服务
systemctl restart hadoop warn resourcemanager
master节点上的上述更改。但作业仍然并行运行。

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

要实现顺序执行,您可能需要使用某种编排解决方案,或者


或者,您可能希望在Dataproc上运行,并将
queueMaxAppsDefault
属性设置为1。

我尝试了
fair scheduler
,但所有作业仍然并行运行。尝试将
Thread.scheduler.fair.user设置为默认队列
Thread属性设置为
false
:您可以共享您的fair scheduler配置和初始化操作吗配置它?谢谢你的链接,它很有魅力!!!。但我在jobs dashboard jobs status show
running
中有一个问题,但在详细的jobs日志中显示它处于等待状态。对于所有传入的作业,可以在作业仪表板上显示状态为
pending
?好的,知道了,谢谢您的帮助