Hadoop Hadoop YARN - Основная настройка

HadoopBeginner
Практиковаться сейчас

Введение

В футуристической фабрике роботов, где передовая технология сочетается с точной инженерией, вы принимаете роль техник обслуживания роботов. Ваш основной целью является обеспечить эффективное распределение и управление вычислительными ресурсами в сложной сети завода. Эта сеть обеспечивает когнитивные функции роботов, позволяя им выполнять сложные задачи с несравненной точностью и скоростью.

Компьютерная инфраструктура завода основана на экосистеме Hadoop, конкретно на компоненте YARN (Yet Another Resource Negotiator). Ваша задача - овладеть базовым настройкой Hadoop YARN, что позволит вам无缝но распределять и управлять вычислительным нагрузкой завода по нескольким узлам, обеспечивая оптимальную производительность и использование ресурсов.

Изучите архитектуру YARN

В этом шаге мы изучим архитектуру YARN и ее ключевые компоненты,奠定я основу для понимания того, как она управляет и распределяет ресурсы в экосистеме Hadoop.

Архитектура YARN состоит из двух основных компонентов:

  1. ResourceManager (RM): ResourceManager действует как центральная власть, которая арбитрирует и распределяет доступные ресурсы (CPU, память и т.д.) по кластеру. Он состоит из двух компонентов:

    • Scheduler: Отвечает за распределение ресурсов между различными запущенными приложениями в соответствии с заранее определенными политиками планирования.
    • ApplicationsManager: Отвечает за прием подачи заданий, переговоры о первом контейнере ресурсов для выполнения ApplicationMaster и предоставление сервиса для перезапуска контейнера ApplicationMaster в случае неудачи.
  2. NodeManager (NM): NodeManager работает на каждом узле кластера и отвечает за управление ресурсами узла и мониторинг контейнеров, работающих на этом узле.

Для лучшего понимания архитектуры YARN давайте перейдем в директорию конфигурации Hadoop и изучим соответствующие файлы конфигурации.

Но сначала нам нужно сменить пользователя:

su - hadoop

Перейдите в директорию конфигурации Hadoop:

cd /home/hadoop/hadoop/etc/hadoop/

Откройте файл yarn-site.xml с помощью инструмента vim:

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
</configuration>

В этом файле конфигурации мы можем увидеть, что для NodeManager включен вспомогательный сервис mapreduce_shuffle. Этот сервис отвечает за управление операциями перемешивания в задачах MapReduce, обеспечивая эффективный обмен данными между фазами map и reduce.

Запустите службы YARN

Теперь, когда мы изучили архитектуру YARN и ее конфигурацию, давайте запустим службы YARN на нашем кластере Hadoop.

Во - первых, запустите службы YARN с помощью следующей команды:

start-yarn.sh

Этот скрипт запустит демоны ResourceManager и NodeManager на соответствующих узлах кластера.

Посмотрите на процесс работы служб YARN с помощью следующей команды:

jps

В выводе должны быть видны службы NodeManager и ResourceManager.

Вы можете проверить статус служб YARN с помощью следующей команды:

yarn node -list

Эта команда покажет список активных NodeManager в кластере, а также их статус и доступные ресурсы.

2024-03-17 19:27:30,108 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
Total Nodes:1
         Node-Id      Node-State Node-Http-Address Number-of-Running-Containers
iZj6cdofomqja8ye7wk8kzZ:43689         RUNNING iZj6cdofomqja8ye7wk8kzZ:8042                            0

В приведенном выше выводе мы видим, что запущен один активный NodeManager.

Отправьте задачу в YARN

Поскольку службы YARN запущены и работают, давайте отправим примерную задачу, чтобы протестировать функции распределения ресурсов и планирования в YARN.

Во - первых, подготовьте текстовый файл ввода с именем input.txt в файловой системе Hadoop, который содержит текстовый контент для подсчета слов.

echo -e "Hello World\nHello Hadoop\nYARN is cool" > input.txt
hadoop fs -put input.txt /input.txt

Затем JAR - файл для примера программы можно найти в директории установки Hadoop, обычно расположен в $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar. Вы можете использовать этот JAR - файл для запуска программы подсчета слов.

yarn jar /home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input.txt /output

Эта команда отправит задачу MapReduce в YARN ResourceManager, который выделит ресурсы и запланирует задачу по доступным NodeManager.

После завершения задачи вы можете просмотреть вывод в директории /output:

hdfs dfs -cat /output/part-r-00000

В выводе должно быть отображено количество слов:

Hadoop 1
Hello 2
World 1
YARN 1
cool 1
is 1

Резюме

В этом практическом занятии мы изучили архитектуру YARN и ее ключевые компоненты, узнали, как конфигурировать и запускать службы YARN, и отправили примерную задачу MapReduce в кластер YARN. Завершив это практическое занятие, вы приобрели практический опыт в базовой настройке и работе с Hadoop YARN, что позволяет вам эффективно управлять и распределять вычислительные ресурсы в распределенной среде.

Практическое занятие не только дало практическое понимание YARN, но и подчеркнуло важность управления ресурсами и планирования в современных компьютерных инфраструктурах. В качестве техника обслуживания роботов в футуристической фабрике владение этими навыками позволит вам оптимизировать производительность и эффективность вычислительных ресурсов завода, обеспечивая плавную и надежную работу для роботов.