---
# System prepended metadata

title: Методы обработки больших объёмов данных

---

# Методы обработки больших объёмов данных

Здесь рассматривается только установка ПО для дальнейшей работы, искать выполненных лаб тут не стоит, потратишь время.

## Подготовительная работа

Привет, если ты здесь, это значит то, что либо твоё время поджимает и уже конец семестра, либо ты в тупике и всё плохо. **Не торопись и следуй гайду.** Без лишних слов, пошли спасать твою **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

Нетрудно, правда?


### **Увидел?**

| Да | Нет | 
| -------- | -------- |
| Красавчик   | Добро пожаловать в документацию    |
