Что такое контейнер в YARN?

Что такое контейнер в YARN? Это то же самое, что и дочерняя JVM, в которой выполняются задачи на nodemanager или она отличается?

Ответ 1

Он представляет ресурс (память) на одном node в данном кластере.
Контейнер

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

Одна задача MR выполняется в таких контейнерах.

Ответ 2

В одном Node (или одном очень большом) может быть несколько контейнеров.

Каждый Node в системе считается состоящим из нескольких контейнеров с минимальным размером памяти (скажем, 512 МБ или 1 ГБ). ApplicationMaster может запросить любой контейнер как кратное минимальному размеру памяти.

Источник, см. раздел ResourceManager/Resource Model.

Ответ 3

Word 'Container' используется в YARN в двух контекстах,

Контейнер: Указывает выделенные ресурсы для ApplicationMaster. ResourceManager несет ответственность за выдачу ресурса/контейнера в ApplicationMaster. Проверьте Container API.

Запуск контейнера: На основе выделенных ресурсов (контейнеров) ApplicationMaster-запрос NodeManager запускает контейнеры, что приводит к выполнению задачи на node. Проверьте ContainerManager API.

Ответ 4

В Hadoop 2.x Контейнер - это место, где происходит работа. Например, каждая задача MapReduce (не вся работа) выполняется в одном контейнере.

Приложение/задание будет выполняться в одном или нескольких контейнерах.

Набор системных ресурсов распределяется для каждого контейнера, в настоящее время поддерживаются ядро ​​ЦП и ОЗУ. Каждый node в кластере Hadoop может запускать несколько контейнеров.

В Hadoop 1.x слот назначается JobTracker для запуска каждой задачи MapReduce. Затем TaskTracker создает отдельную JVM для каждой задачи (если повторное использование JVM не включено).

Ответ 5

Проще говоря, Контейнер - это место, где выполняется приложение YARN. Он доступен в каждом node. Application Master согласовывает контейнер с планировщиком (одним из компонентов диспетчера ресурсов). Контейнеры запускаются Node Manager.

Ответ 6

Контейнер - это распределение ресурсов, которое является успешным результатом ResourceManager, предоставляющего определенный ResourceRequest. Контейнер предоставляет права приложению на использование определенного количества ресурсов (память, процессор и т.д.) На определенном хосте.

Ответ 7

Container : 

Логическая аренда ресурсов и фактический процесс, созданный на node, используется взаимозаменяемо. Это тот же процесс, в котором выполняются задачи (или AM). Для запуска контейнера мы предоставляем контейнерный объект и CLC (ContainerLaunchContext), в котором мы устанавливаем список команд для запуска задач (или AM).

nmClient.startContainer(container, clcObj)

ContainerLaunchContext code snippet :

<code>
.
.
.
 /**
   * Add the list of <em>commands</em> for launching the container. All
   * pre-existing List entries are cleared before adding the new List
   * @param commands the list of <em>commands</em> for launching the container
   */
  @Public
  @Stable
  public abstract void setCommands(List<String> commands);
</code>

Ответ 8

В соответствии с размером входных данных создаются множественные входные расщепления. Задача MR должна обрабатывать все данные, поэтому создается несколько задач (масштабирование и масштабирование задач). Таким образом, для каждого входного разделения будет обработана одна задача. Теперь, как запустить эту задачу, предлагается диспетчером ресурсов. Менеджер ресурсов знает, какой менеджер node является свободным и который занят, его как руководитель колледжа и node менеджер - классный преподаватель колледжа, а руководитель знает, какой учитель свободен. Поэтому он просит менеджера node запустить эту задачу (небольшая часть всего задания) в контейнере, то есть в области памяти, такой как jvm. Таким образом, задание выполняется как мастер приложения внутри контейнера.

Ответ 9

Контейнер - это место, где приложение выполняет свою задачу. Если вы хотите узнать общее количество запущенных контейнеров в кластере, то вы можете проверить в своем кластере пользовательский интерфейс Yarn-Resource Manager.

URL-адрес пряжи: http://Your-Active-ResourceManager-IP: 45020/cluster/apps/RUNNING

В столбце "Запущенные контейнеры" всего нет. детали ходовых контейнеров присутствуют.

Примечание: если вы используете искру, то искровые исполнители будут работать внутри контейнера. Один контейнер может вместить несколько искровых исполнителей.