Последующее выполнение заданий в Google Cloud Dataproc - PullRequest
0 голосов
/ 19 декабря 2018

Я создал кластер Google Dataproc с двумя работниками, использующими виртуальные машины 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, указанные выше изменения на главном узле.Но работа по-прежнему выполняется параллельно.

1 Ответ

0 голосов
/ 19 декабря 2018

Dataproc пытается выполнить представленные задания параллельно, если ресурсы доступны.

Для достижения последовательного выполнения вы можете использовать какое-либо решение для оркестровки, либо Dataproc Workflows , либо Cloud Composer.

В качестве альтернативы вы можете настроить YARN Fair Scheduler в Dataproc и установить для свойства queueMaxAppsDefault значение 1.

...