YARN: контейнеры и JVM
Может кто-нибудь помочь мне понять связь между JVM и контейнерами в YARN?
- Как создаются JVM, это одна JVM для каждой задачи? Может ли несколько задач выполняться одновременно в одной и той же JVM? (Мне известно о том, что многие задачи (карты / сокращения) могут выполняться в одной и той же JVM одна за другой).
- Это одна JVM для каждого контейнера? или несколько контейнеров в одной JVM? или нет никакой связи между JVM и контейнерами?
- когда менеджер ресурсов выделяет контейнеры для задания, использует ли несколько задач в одном и том же задании один и тот же контейнер для задач, выполняющихся в одном узле? или отдельные контейнеры для каждой задачи в зависимости от доступности?
ссылки на некоторые полезные ссылки также будут полезны.
1 ответ
Это одна JVM для каждого контейнера? или несколько контейнеров в одной JVM? или нет никакой связи между JVM и контейнерами?
Конечно, существует отношение, и оно однозначное. Для каждого контейнера, который необходимо создать, создается новый процесс Java (JVM).
Теперь, если вы не работаете в режиме Uber, подумайте о следующем:-
Как создаются JVM, это одна JVM для каждой задачи? Может ли несколько задач выполняться одновременно в одной и той же JVM? (Мне известно о том, что многие задачи (карты / сокращения) могут выполняться в одной и той же JVM одна за другой).
Смотрите, задачи запланированы для запуска на каком-то узле в кластере. В соответствии с требованиями (память и процессор) задачи определяется емкость контейнера. Также есть определенные параметры для этого, которые вы можете найти в ссылках ниже.
Каждая попытка задачи запланирована на JVM.
когда менеджер ресурсов выделяет контейнеры для задания, использует ли несколько задач в одном и том же задании один и тот же контейнер для задач, выполняющихся в одном узле? или отдельные контейнеры для каждой задачи в зависимости от доступности?
Отдельные контейнеры для каждой задачи создаются в зависимости от доступности ресурсов в кластере.
Вот несколько ссылок, которые очень полезны
http://ercoppa.github.io/HadoopInternals/AnatomyMapReduceJob.html
https://blog.cloudera.com/blog/2015/09/untangling-apache-hadoop-yarn-part-1/
http://blog.cloudera.com/blog/2014/04/apache-hadoop-yarn-avoiding-6-time-consuming-gotchas/