Datopia с Hadoop Yarn

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В чудесной стране под названием Датопия, где информация течет, подобно ручьям чистого знания, жила любопытная существо по имени Датина. Единственная цель Датины заключалась в том, чтобы понять сложные механизмы работы с данными и использовать их потенциал. Однажды Датина наткнулась на таинственную силу, известную как Hadoop, мощный инструмент для обработки огромных объемов данных. Однако, чтобы полностью раскрыть его возможности, Датина должна была овладеть искусством выполнения команд Yarn и манипуляции с jar-файлами.

Цель этого лабораторного занятия - помочь Датине пройти процесс использования команд Yarn и jar-файлов в экосистеме Hadoop. Завершив это лабораторное занятие, Датина приобретет навыки, необходимые для эффективного управления и выполнения приложений, раскрыв истинный потенциал Hadoop в стране Датопия.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopMapReduceGroup(["Hadoop MapReduce"]) hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/fs_ls("FS Shell ls") hadoop/HadoopMapReduceGroup -.-> hadoop/mappers_reducers("Coding Mappers and Reducers") hadoop/HadoopYARNGroup -.-> hadoop/yarn_setup("Hadoop YARN Basic Setup") hadoop/HadoopYARNGroup -.-> hadoop/yarn_app("Yarn Commands application") hadoop/HadoopYARNGroup -.-> hadoop/yarn_log("Yarn Commands log") hadoop/HadoopYARNGroup -.-> hadoop/yarn_jar("Yarn Commands jar") hadoop/HadoopYARNGroup -.-> hadoop/yarn_node("Yarn Commands node") hadoop/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-289011{{"Datopia с Hadoop Yarn"}} hadoop/fs_ls -.-> lab-289011{{"Datopia с Hadoop Yarn"}} hadoop/mappers_reducers -.-> lab-289011{{"Datopia с Hadoop Yarn"}} hadoop/yarn_setup -.-> lab-289011{{"Datopia с Hadoop Yarn"}} hadoop/yarn_app -.-> lab-289011{{"Datopia с Hadoop Yarn"}} hadoop/yarn_log -.-> lab-289011{{"Datopia с Hadoop Yarn"}} hadoop/yarn_jar -.-> lab-289011{{"Datopia с Hadoop Yarn"}} hadoop/yarn_node -.-> lab-289011{{"Datopia с Hadoop Yarn"}} hadoop/hive_setup -.-> lab-289011{{"Datopia с Hadoop Yarn"}} end

Исследование среды Hadoop

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

Во - первых, чтобы переключиться на пользователя hadoop:

su - hadoop

Затем, проверим версию Hadoop:

hadoop version

Вы должны увидеть вывод, похожий на следующий:

Hadoop 3.3.6
...

Перечисление доступных jar-файлов

В этом шаге мы узнаем, как перечислить доступные jar-файлы в среде Hadoop. Эти jar-файлы содержат предварительно построенные приложения и утилиты, которые можно выполнить с использованием команд Yarn.

ls $HADOOP_HOME/share/hadoop/mapreduce/*.jar

Вывод будет отображать список jar-файлов, расположенных в директории $HADOOP_HOME/share/hadoop/mapreduce. Эти jar-файлы можно использовать с командами Yarn для запуска различных приложений и утилит.

/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-app-3.3.6.jar
/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-common-3.3.6.jar
/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.3.6.jar
...

Запуск jar-файла с помощью Yarn

В этом шаге мы узнаем, как запускать jar-файл с помощью команды yarn jar. В качестве примера мы будем использовать jar-файл hadoop-mapreduce-examples.

Теперь запустим пример WordCount из jar-файла hadoop-mapreduce-examples

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

Совет: Вы можете прочитать содержимое файла с помощью команды hadoop fs -cat /home/hadoop/input/*

Содержимое входного файла:

hello world
hello labex
hello Hadoop
hello Java

В вышеуказанной команде мы указываем jar-файл hadoop-mapreduce-examples-3.3.6.jar, приложение для запуска wordcount и пути к входным и выходным данным /home/hadoop/input и /home/hadoop/output соответственно.

После выполнения команды вы должны увидеть вывод, похожий на следующий:

hadoop:~/ $ hadoop fs -cat /home/hadoop/output/*                     [19:54:17]
Hadoop	1
Java	1
hello	4
labex	1
world	1

Мониторинг приложений Yarn

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

Перечислить запущенные приложения Yarn:

yarn application -list

Пример вывода в терминале:

UBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED] and tags: []):1
                Application-Id	    Application-Name	    Application-Type	      User	     Queue	             State	       Final-State	       Progress	                       Tracking-URL
application_1711070937750_0001	          word count	           MAPREDUCE	    hadoop	   default	          FINISHED	         SUCCEEDED	           100%	http://iZj6cdxwclh8pms0k1vyyhZ:19888/jobhistory/job/job_1711070937750_0001

Получить статус приложения

yarn application -status <application_id>

Пример вывода в терминале:

hadoop:~/ $ yarn application -status application_1711070937750_0001   [9:31:46]
2024-03-22 09:33:12,186 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
2024-03-22 09:33:12,521 INFO conf.Configuration: resource-types.xml not found
2024-03-22 09:33:12,522 INFO resource.ResourceUtils: Unable to find'resource-types.xml'.
Application Report :
	Application-Id : application_1711070937750_0001
	Application-Name : word count
	Application-Type : MAPREDUCE
	User : hadoop
	Queue : default
	Application Priority : 0
	Start-Time : 1711071042168
	Finish-Time : 1711071057334

Завершить запущенное приложение

yarn application -kill <application_id>

Пример вывода в терминале:

hadoop:~/ $ yarn application -kill application_1711070937750_0001     [9:33:14]
2024-03-22 09:34:45,075 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
Application application_1711070937750_0001 has already finished

Советы: вы можете перечислить все приложения с помощью команды yarn application -list -appStates ALL

Команда yarn application позволяет вам перечислять, мониторить и управлять приложениями Yarn. Вы можете получить статус приложения и даже завершить запущенное приложение с использованием соответствующих подкоманд.

Резюме

В этом лабораторном задании мы отправились в путешествие по миру Датопии, где Датина, любопытная существо, пыталась раскрыть истинный потенциал команд Yarn и jar-файлов Hadoop. Завершив это лабораторное задание, Датина приобрела ценные навыки в перечислении доступных jar-файлов, запуске приложений с использованием команды yarn jar и мониторинге и управлении приложениями Yarn.

С помощью практических упражнений Датина научилась ориентироваться в среде Hadoop, выполнять предварительно построенные приложения, такие как WordCount, и мониторить запущенные приложения с использованием различных команд Yarn. Эти навыки не только позволяют Датине использовать мощь Hadoop, но и奠定ят основу для дальнейшего исследования и овладения миром данных.

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