# Методы обработки больших объёмов данных Здесь рассматривается только установка ПО для дальнейшей работы, искать выполненных лаб тут не стоит, потратишь время. ## Подготовительная работа Привет, если ты здесь, это значит то, что либо твоё время поджимает и уже конец семестра, либо ты в тупике и всё плохо. **Не торопись и следуй гайду.** Без лишних слов, пошли спасать твою **ass**. ### Что тебе надо: Внимание на **пункт 3**. 1) VMware Workstation 2) CentOS 7 3) hadoop-2.10.2.tar.gz (устанавливать на созданную виртуалку, в терминал пропишешь **НЕ ОТ РУТА**: wget http://mirror.linux-ia64.org/apache/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz) 4) jdk-8u221-linux-x64_tar.gz (устанавливать на созданную виртуалку) ### Где ты это можешь взять: Со скачкой всех файлов не торопись. Этот диск просуществует хз сколько, поэтому, если ты нашёл поломанную ссыль, то извиняй: https://drive.google.com/drive/folders/1o_YL-h9Skuz8_LOpwN0N0MTHWgxyipqr?usp=sharing ## Используемая команда tar Не ссы, это просто способ распаковать архив. **Синтаксис**: tar -xvf *имя файла* ## Твой порядок действий 1) Надеюсь, что ты смог поставить себе VMware Workstation, потому что рассматривать инструкуцию по её установке я не буду. 2) Тебе надо создать виртуальную машинку с ос, которая называется CentOS 7, выдели ей: 6Гб RAM, 2 ядра CPU, 20Гб в файловой системе (можно и больше, чем указано в каждом пункте, если хочешь). 3) Накатил? Обнови! Куда тыкать? На скрине увидишь. ![](https://i.imgur.com/Q19TW9S.png) 4) Окей, с установкой VMware Workstation и CentOS 7 справились, осталось ещё несколько шагов. 5) Архив с **jdk-8u221-linux-x64_tar.gz** найдёшь по ссылке на гугл диск, которая оставлена выше. Вставь ссылку в браузер на виртуалке и скачивай. 6) После скачки файлов, нажми (не обращай внимание на hadoop-2.9.2, немного позже после написания гайда он был снесён и заменён на hadoop-2.10.2): ![](https://i.imgur.com/nXPfGHb.png) ![](https://i.imgur.com/g9PTjfh.png) 7) Окей, зачем тебе нужны телодвижения из **пункта 6**: перетащи эти файлы в раздел "Home", это нужно дальше: ![](https://i.imgur.com/kQelE3A.png) 8) Найс, первый этап ты прошёл. ## Логика дальнейшего происходящего 1) У тебя есть архивы в "Home", которые надо распаковать. 2) Затем провести небольшое редактирование некоторых конфигов. 3) Добавить скрипты, которые пригодятся для дальнейшей работы. ## Работа с архивами Первоначальная вещь, которую надо сделать ` # yum install mc wget curl ssh rsync screen make` Ты работаешь **в домашнем разделе**, если не прописано переходить в какой-либо другой раздел, ты не переходишь. Команды **выполняются не от рута**, лишнее напоминание тебе: > "$" - не рут > "#" - рут 1. Открой терминал 2. Пропиши *cd ~* (переход в домашний раздел) 3. Распакуй архив с jdk-8u221-linux-x64_tar.gz: > $ tar -xvf jdk-8u221-linux-x64_tar.gz 4. Установка hadoop-2.10.2, придётся подождать: > $ wget http://mirror.linux-ia64.org/apache/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz ![](https://i.imgur.com/TF8eX79.png) 5. Распаковка hadoop-2.10.2: > $ tar -xvf hadoop-2.10.2.tar.gz 6. Создай папку bin: > $ mkdir bin **Чтобы убедиться, что всё на месте и там, где надо, сделай следующее:** В терминале пропиши *ls*, ты должен увидеть примерно такой вывод: ![](https://i.imgur.com/dt9Aovi.png) Красное - архивы, не переживай, всё хорошо, если ты видишь над архивами синие папки, которые в названии имеют начало названия твоего архива. ## Работа с конфигами **Работаешь по схеме "написал - сохранил"** 1. Необходимо отредачить файл в домашнем каталоге, который исполняется оболочкой при входе. > $ mcedit ~/.bash_profile ``` # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs JAVA_HOME=$HOME/jdk1.8.0_221 HADOOP_HOME=$HOME/hadoop-2.10.2 PATH=$PATH:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin export JAVA_HOME export HADOOP_HOME export PATH ``` Так это выглядит в консоли, потом нажми снизу на "2 Save" ![](https://i.imgur.com/seS062K.png) 2. Настройка беспарольного доступа по ssh: ``` $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys $ ssh localhost $ exit ``` 3. Найстройка hadoop: ``` $ cd hadoop-2.10.2 $ cd etc $ cd hadoop $ mcedit hadoop-env.sh ``` **Пишешь:** JAVA_HOME=$HOME/jdk1.8.0_221 ![](https://i.imgur.com/giWyJFl.png) ------ ``` $ mcedit core-site.xml ``` **Пишешь:** ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` ![](https://i.imgur.com/KgjdPKk.png) ----- ``` $ mcedit hdfs-site.xml ``` **Пишешь:** ``` <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` ![](https://i.imgur.com/Md1Emnu.png) ---- ``` $ mcedit mapred-site.xml.template ``` **Пишешь:** ``` <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` ![](https://i.imgur.com/qG0OV37.png) ---- ``` $ mcedit yarn-site.xml ``` **Пишешь:** ``` <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` ![](https://i.imgur.com/5ev2Eba.png) ## Работа со скриптами Помнишь, что ты создавал папку bin? Окей, перейди на гугл диск и скачай с него архив со скриптами, перенеси их в папку "Home", в этой папке увидишь папку "bin". Т.е твои скрипты лежат по следующему пути "Home"-"bin" и ты работаешь из консоли именно в ~/bin: > [you@localhost bin] $ tar -xvf scripts.tar.gz Убедись, что всё ок: ![](https://i.imgur.com/2peExdT.png) Твои нужные скрипты: ``` − hdpStart.sh — старт HDFS и yarn; − hdpStop.sh — остановка yarn и HDFS; − hdpFormat.sh — форматирование HDFS, необходимо перед стартом первый раз; − hdpCompileJava.sh — скрипт компиляции .java в .jar, поддерживает один параметр — имя входного .java-файла. ``` ## Финал Надеюсь, что ты отстрадал не зря и морально готов к тому, чтобы убедиться в работоспособдности этой адской машины. Сначала тебе надо перезагрузиться, чтобы все применённые изменения вступили в силу: > $ reboot Если ты читаешь это, то ты уже перезагрузил свою машинку, самое время открыть консоль и офигеть от жизни. Что тебе надо написать в ней: > $ cd ~ > $ hdpFormat.sh > $ hdpStart.sh Перейди в браузер на виртуалке и набери http://localhost:50070 Если ты молодец, то увидишь в окне браузера что-то зелёненькое: ![](https://i.imgur.com/Pvjsxbe.png) Вся эта адская машина не любит спящий режим, поэтому, если ты положишь болт на моё предупреждение, то тут поможет только бог. Чтобы грамотно завершить работу напиши в терминале: > $ hdpStop.sh Нетрудно, правда? ### **Увидел?** | Да | Нет | | -------- | -------- | | Красавчик | Добро пожаловать в документацию |