Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

БД_Лабораторная_работа_2_БСТ2104_Мажукин_И_Н

.docx
Скачиваний:
6
Добавлен:
12.02.2024
Размер:
11.79 Mб
Скачать

gМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Математическая кибернетика и информационные технологии»

Дисциплина «Большие данные»

Лабораторная работа 2

Выполнил:

студент группы БСТ2104

Мажукин И.Н.

Проверила: Тимофеева А. И.

Москва, 2023 г.

Содержание

Цель работы 3

Ход выполнения работы 3

Hadoop streaming 12

Дополнительные задания 15

Вывод: 17

Цель работы 3

Ход выполнения работы 3

Hadoop streaming 12

Дополнительные задания: 15

Вывод: 17

Цель работы

Получить навыки работы с MapReduce и YARN.

Ход выполнения работы

Почистите свои директории после первой лабы. После очищение директорий будем работать с файлом yarn. Используем команду yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar

Рисунок 1 – Вывод всех доступных тестовых сценариев

Выберем сценарий для работы программы – pi, которая вычисляет число π с помощью метода Монте-Карло для заданного количества точек на плоскости. Используем команду yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar pi 5 123456789, где 5 – количество контейнеров, работающих параллельно, 123456789 – количество точек записанных для обработки в каждый контейнер.

Рисунок 2 – Вывод подсчета значения π с помощью метода Монте-Карло

Команда вычислила значение π за 317.741 секунд. Чему равно полученное значение? Ответ: 3.14159321930849829571

Рисунок 3 – Вывод результат работы команды для подсчета значения π

Увеличим количество точек в 10 раз и сравним точность. Используем команду yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar pi 5 1234567890

Рисунок 4 – Вывод подсчета значения π с помощью метода Монте-Карло

Команда вычислила значение π за 333.021 секунды. Чему равно полученное значение? Ответ: 3.14159277542849425640. Точность изменилась с 6 знака после запятой.

Рисунок 5 – Вывод результат работы команды для подсчета значения π

В Ambari в ResourceManager UI. Во вкладке Applications содержится история запуска всех YARN-приложений найдем свой запуск и кликните на его application ID.

Рисунок 6 – Вывод истории запусков

Рисунок 7 – Вывод информацию о статусе приложения

Рисунок 8 – Вывод информации о Job

Увеличим количество создаваемых точек и зайдём в UI, чтобы увидеть подробную информацию в процессе работы приложения. Используем команду yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar pi 5 12345678987

Рисунок 9 – Вывод информации об использовании памяти

Рисунок 10 – Вывод информации об использовании VCore

Рисунок 11 – Вывод информации о запущенных контейнерах

Заполним таблицу:

Resource Usage

Информация по нодам

Сколько памяти занимает приложение на каждой ноде?

1 – 4 GB

2 – 1 GB

3 – 1 GB

Сколько виртуальных ядер выделено под задачу на каждой ноде?

1 – 4 VCore

2 – 1 VCore

3 – 1 VCore

Какое количество контейнеров создано для решения задачи на каждой ноде?

1 – 4 containers

2 – 1 containers

3 – 1 containers

Ответьте на вопрос: О серверах с каким запущенным сервисом YARN была получена информация? 4,5,6 node4.mtuci.cloud.ru:45454

Запустим задачу ещё раз и выполним команду yarn top.

Рисунок 12 – Вывод информации yarn top

Рисунок 13 – Вывод команды yarn kill

Проверим статус нашей задачи

Рисунок 14 – Вывод информации yarn kill в yarn

Выполните запуск любого другого тестового сценария. Выберем сценарий teragen. Это команда нужна для создания данных для программы TeraSort.

Рисунок 15 – Выполнение сценария teragen

Рисунок 16 – Вывод информации Использование памяти

Рисунок 17 – Вывод информации Использование VCore

Рисунок 18– Вывод информации Запуск контейнеров

Заполним таблицу:

Resource Usage

Информация по нодам

Сколько памяти занимает приложение на каждой ноде?

1 – 1 GB

2 – 0 GB

3 – 0 GB

Сколько виртуальных ядер выделено под задачу на каждой ноде?

1 – 1 VCore

2 – 0 VCore

3 – 0 VCore

Какое количество контейнеров создано для решения задачи на каждой ноде?

1 – 1 containers

2 – 0 containers

3 – 0 containers

Рисунок 19– Результат работы teragen

Hadoop streaming

Создать Hadoop-streaming программу, которая бы удаляла из текста все вхождения следующих слов. Реализация программы будет на языке python.

Создадим файл, который будет использоваться для удаления слов

Рисунок 20 – Код для выполнения Hadoop-streaming

Запустим его в Hadoop

Рисунок 21 – Запуск команды

Вывод результата работы программы

Рисунок 22 – Вывод результата работы программы

Дополнительные задания

  1. Напишите свою реализацию подсчёта числа PI

Создадим файл, который будет считать число Pi

Рисунок 23 – Код программы

Запустим его в Hadoop

Рисунок 24 – Запуск программы в Hadoop

Рисунок 25 – Результат работы программы

2. Посчитайте число вхождений слов длиной от 6 до 9 символов. Результат приведите к нижнему регистру и отсортируйте по убыванию числа вхождений, в случае равенства – лексикографически.

Создадим файл, который будет подсчитывать слова

Рисунок 26 – Код для выполнения Hadoop-streaming

Рисунок 27 – Запуск команды

Рисунок 28 – Вывод результата работы программы

Вывод:

Получил навыки работы с MapReduce и YARN.