Введение
В футуристической фабрике роботов, где передовая технология сочетается с точной инженерией, вы принимаете роль техник обслуживания роботов. Ваш основной целью является обеспечить эффективное распределение и управление вычислительными ресурсами в сложной сети завода. Эта сеть обеспечивает когнитивные функции роботов, позволяя им выполнять сложные задачи с несравненной точностью и скоростью.
Компьютерная инфраструктура завода основана на экосистеме Hadoop, конкретно на компоненте YARN (Yet Another Resource Negotiator). Ваша задача - овладеть базовым настройкой Hadoop YARN, что позволит вам无缝но распределять и управлять вычислительным нагрузкой завода по нескольким узлам, обеспечивая оптимальную производительность и использование ресурсов.
Изучите архитектуру YARN
В этом шаге мы изучим архитектуру YARN и ее ключевые компоненты,奠定я основу для понимания того, как она управляет и распределяет ресурсы в экосистеме Hadoop.
Архитектура YARN состоит из двух основных компонентов:
ResourceManager (RM): ResourceManager действует как центральная власть, которая арбитрирует и распределяет доступные ресурсы (CPU, память и т.д.) по кластеру. Он состоит из двух компонентов:
- Scheduler: Отвечает за распределение ресурсов между различными запущенными приложениями в соответствии с заранее определенными политиками планирования.
- ApplicationsManager: Отвечает за прием подачи заданий, переговоры о первом контейнере ресурсов для выполнения ApplicationMaster и предоставление сервиса для перезапуска контейнера ApplicationMaster в случае неудачи.
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, но и подчеркнуло важность управления ресурсами и планирования в современных компьютерных инфраструктурах. В качестве техника обслуживания роботов в футуристической фабрике владение этими навыками позволит вам оптимизировать производительность и эффективность вычислительных ресурсов завода, обеспечивая плавную и надежную работу для роботов.



