Помните об обработке исключений Hive выполнения приостановки задания (состояние принято)

Большое количество данных

вопрос

  1. Появляется выполнение ульяselect count(*) from ……оператор, задача не выполняется в течение длительного времени
  2. Наблюдение за статусом задачи в интерфейсе Yarn всегда является статусом «Принято».
  3. Hive зависает при запуске с tez engine и выдает ошибку подсчета после соединения с beeline
  4. На данный момент в кластере еще много свободной памяти и ресурсов ЦП!

позиция

Просмотрите журналы пользовательского интерфейса Yarn, и отобразятся следующие подсказки:

Diagnostics:Application is added to the scheduler and is not yet activated. 
Queue's AM resource limit exceeded. Details : AM Partition = <DEFAULT_PARTITION>; 
AM Resource Request = <memory:9216MB(9G), vCores:1>; 
Queue Resource Limit for AM = <memory:454656MB(444G), vCores:1>; 
User AM Resource Limit of the queue = <memory:229376MB(224G), vCores:1>; 
Queue AM Resource Usage = <memory:221184MB(216G), vCores:24>;

Это означает, что задача передана планировщику, но ресурсы, запрошенные ApplicationMaster, превышают верхний предел, а оставшихся доступных ресурсов недостаточно для запуска AM, поэтому программа находится в приостановленном состоянии и не может быть запущена.

  • Ограничение ресурсов может быть вызвано памятью, количеством виртуальных ядер (vCores) или и тем, и другим, что можно определить при анализе.

решение

Увеличить процент ресурсов AM

Maximum-am-resource-percent: Верхний предел доли ресурсов, используемых для запуска приложения ApplicationMaster в кластере.Этот параметр обычно используется для ограничения количества активных приложений. Тип параметра — с плавающей запятой, что по умолчанию равно 20%. Верхний предел соотношения ресурсов ApplicationMaster для всех очередей можно задать через параметр yarn.scheduler.capacity.maximum-am-resource-percent, а для отдельной очереди можно задать собственное значение через параметр yarn.scheduler.capacity.. максимальный-ам-ресурс-процент .Как правило, не более 50%.

Если вы являетесь пользователем HDP

Изменить максимальный ресурс AM с помощью Ambari

Эпилог

Эта проблема встречается не часто, обычно возникает только тогда, когда Yarn выполняет много задач, что описано здесь. Но это не обязательно причина, по которой задача Yarn приостановлена ​​и находится в состоянии Accepted.

Чтобы сделать этот вопрос более доступным для поиска, приведенное выше относится к:

  • Мастер приложений не может подать заявку на ресурсы

  • Ресурсы не выделяются после отправки задач Yarn

  • Использование ресурса Queue AM Resource Usage, Ресурс AM очереди превысил лимит.

  • Измените верхний предел соотношения ресурсов, используемого кластером для запуска приложения ApplicationMaster.

  • yarn.scheduler.capacity.maximum-am-resource-процентная корректировка

  • Задача находится в состоянии «Принято», но в кластере еще есть доступные ресурсы

    周末愉快~