Что такое память, зарезервированная на пряже

Мне удалось запустить искровое приложение на Yarn. Однако использование emory довольно странно, как вы можете видеть ниже:

http://imgur.com/1k6VvSI

Что означает зарезервированная память? Как мне эффективно использовать всю доступную память?

Заранее спасибо.

1 ответ

Решение

Посмотрите этот блог от Cloudera, в котором рассказывается о новом управлении памятью в YARN.

Вот соответствующие биты:

... Деталь реализации этого изменения, которая предотвращает голод приложений в рамках этой новой гибкости, представляет собой понятие зарезервированных контейнеров. Представьте себе, что запущены два задания, в каждом из которых достаточно задач, чтобы насытить больше, чем весь кластер. Одна работа хочет, чтобы каждый из ее картографов получил 1 ГБ, а другая - чтобы его картографы получили 2 ГБ. Предположим, что первое задание запускается и заполняет весь кластер. Всякий раз, когда одна из ее задач завершается, она оставляет открытый слот на 1 ГБ. Хотя вторая работа заслуживает места, наивная политика уступит ее первой, потому что это единственная работа с задачами, которые подходят. Это может привести к тому, что вторая работа будет голодать бесконечно. Во избежание этой прискорбной ситуации, когда приложению предлагается место на узле, если приложение не может сразу его использовать, оно резервирует его, и никакое другое приложение не может размещать контейнер на этом узле до тех пор, пока не будет выполнено резервирование. Каждый узел может иметь только один зарезервированный контейнер. Общий объем зарезервированной памяти сообщается в пользовательском интерфейсе ResourceManager. Большое число означает, что для новых рабочих мест может потребоваться больше времени, чтобы получить место.,,,

Контейнер станет зарезервированным состоянием, когда контейнер будет назначен какому-либо узлу nodemanager, у которого недостаточно ресурсов (процессора или памяти) для него.

Другие вопросы по тегам