вопрос
- Появляется выполнение улья
select count(*) from ……
оператор, задача не выполняется в течение длительного времени - Наблюдение за статусом задачи в интерфейсе Yarn всегда является статусом «Принято».
- Hive зависает при запуске с tez engine и выдает ошибку подсчета после соединения с beeline
- На данный момент в кластере еще много свободной памяти и ресурсов ЦП!
позиция
Просмотрите журналы пользовательского интерфейса 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-процентная корректировка
-
Задача находится в состоянии «Принято», но в кластере еще есть доступные ресурсы
周末愉快~