Hadoop порождает несколько виртуальных машин

Когда я запускаю Hadoop с помощью скрипта bin/start-all.sh, кажется, что он запускает разные JVM для узла имени, узла данных, средства отслеживания заданий и средства отслеживания задач.

Более того, когда я запускаю задание, кажется, что для каждого задания создается еще одна JVM.

Есть ли конкретная причина, по которой Hadoop делает это. Я понимаю, что это необходимо в среде кластера с несколькими узлами, но это делает то же самое даже в кластере с одним узлом.

Есть ли способ указать любой параметр конфигурации, который запускает все под одной и той же JVM?


person Chander Shivdasani    schedule 17.02.2012    source источник


Ответы (1)


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

OTOH, почему бы не создать несколько JVM?

person Don Branson    schedule 17.02.2012