Разница между ФИФО и ЛИФО против Ластонли в слизи - PullRequest
0 голосов
/ 19 июня 2019

Не могли бы вы вкратце объяснить, как для заданий oozie приоритезируются задания, основанные на настройках LIFO, FIFO и LASTONLY.В основном нужна разница между LIFO и LASTONLY с примерами синхронизации.

1 Ответ

0 голосов
/ 11 июля 2019

Эта часть документации Oozie описывает разницу.

Соответствующая часть:

FIFO (сначала самая старая) * по умолчанию.

LIFO (сначала самое новое).

LAST_ONLY : хотя FIFO и LIFO просто указывают порядок, в котором должны выполняться действия READY, LAST_ONLYможет на самом деле вызвать некоторые действия, которые будут пропущены, и это немного сложнее для понимания.Когда установлено значение LAST_ONLY, действие, которое находится в состоянии ОЖИДАНИЕ или ГОТОВ, будет Пропущено, когда текущее время превышает номинальное время следующего действия.Например, предположим, что оба действия 1 и 2 ГОТОВЫ, текущее время - 5:00 вечера, а номинальное время действия 2 - 5:10 вечера.Через 10 минут, в 5:10 вечера, действие 1 станет пропущенным, при условии, что оно не переходит в SUBMITTED (или состояние терминала) до этого.Это похоже на управление тайм-аутом, но есть некоторые важные различия:

  1. Время ожидания настраивается, а время LAST_ONLY фактически является частотой.
  2. Достижение времени ожидания вызывает действиеперейти к TIMEDOUT, что приведет к тому, что работа координатора станет RUNNINGWITHERROR и, в конечном счете, DONEWITHERROR.При использовании LAST_ONLY действие становится пропущенным, а задание координатора остается запущенным и в конечном итоге завершается.
  3. Время ожидания удовлетворяет зависимости данных, в то время как LAST_ONLY проверяет само действие.Это означает, что тайм-аут может вызвать только переход из режима WAITING, тогда как LAST_ONLY может вызвать переход из режима WAITING или READY.

LAST_ONLY полезен, если вы хотите повторяющееся задание, но на самом деле не заботитесь оотдельные экземпляры и просто всегда хочется последних действий.Например, если у вас есть координатор, работающий каждые 10 минут, и убираете Oozie на 1 час, когда Oozie возвращается, обычно выполняется 6 действий WAITING или READY.Однако, с LAST_ONLY, только текущий перейдет в SUBMITTED, а затем RUNNING;остальные перейдут к SKIPPED.

NONE : аналогично LAST_ONLY, за исключением того, что вместо того, чтобы смотреть на номинальное время следующего действия, он смотрит на oozie.coord.execution.none.tolerance в oozie-site.xml (по умолчанию 1 минута).Если задано значение NONE, действие, ожидающее или готовое, будет пропущено, если текущее время превышает заданное количество минут (допуск) после номинального времени этого действия.Например, предположим, что оба действия 1 и 2 ГОТОВЫ, текущее время - 5:20 вечера, а номинальное время обоих действий - до 5:19 вечера.Оба действия станут Пропущенными, если они не перейдут в SUBMITTED (или состояние терминала) до этого.

...