Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



06.12.2018

Niższe moce

UPS Eaton 9SX
03.12.2018

Monitory dla MŚP

AOC E1
29.11.2018

Wykrycie szkodliwego...

Sophos Intercept X Advanced
27.11.2018

Automatyzacja zabezpieczeń

Red Hat Ansible Automation
23.11.2018

Nieograniczona skalowalność

SUSE Enterprise Storage 5.5
20.11.2018

Dwa procesory Threadripper

AMD Ryzen Threadripper 2970WX i 2920X
16.11.2018

Dla biznesu i edukacji

Optoma 330USTN
13.11.2018

Superszybki dysk SSD

Patriot Evolver
09.11.2018

Ograniczenie kosztów

Canon imageRUNNER ADVANCE 525/615/715

Big data – Hadoop

Data publikacji: 25-07-2018 Autor: Grzegorz Kuczyński
Graficzny interfejs YARN...

Gdy spotykasz się z problemem zbyt dużej ilości danych, być może przyszedł czas na wdrożenie rozwiązania dla big data. Jednym z nich jest Hadoop, platforma open source, która może stać się fundamentem pod własne narzędzia do analizy i przetwarzania dużych zbiorów danych.

Historia Hadoop sięga czasów pierwszych rozwiązań dla problemów big data, z którymi spotykali się tacy giganci jak Google czy Yahoo. Dziś każdy może samodzielnie uruchomić własny klaster Hadoop i o tym traktuje ten artykuł. Warto zaznaczyć, że architektura Hadoop jest przemyślana tak, że uwzględnia ewentualne awarie sprzętu i nie wymaga posiadania markowego sprzętu ani nawet uruchamiania macierzy RAID. Niestety, Hadoop nie jest rozwiązaniem łatwym do wdrożenia, gdyż bez programowania w Java niewiele będzie można w nim przetwarzać. Z problemem tym spotkało się wielu użytkowników, dlatego powstało wiele narzędzi pomocniczych, które tworzą cały ekosystem Hadoopa. Dla przykładu wiele osób przetwarzających dane zna SQL, więc powstał projekt Hive, który pozwala używać języka SQL, a następnie tłumaczy go na zadania zrozumiałe dla Hadoop.

 
W dużym uproszczeniu Hadoop składa się z dwóch elementów, systemu plików HDFS – Hadoop Distributed File System, który pozwala na rozproszone przechowywanie danych i ich replikację, oraz z menedżera zadań i zasobów nazwanego YARN – Yet Another Resource Negotiator. W Hadoop charakterystyczny jest też sposób przetwarzania danych, opiera się on bowiem na rozwiązaniu zwanym Map­Reduce. To właśnie w nim programuje się to, w jaki sposób dane mają być przetwarzane. Metodologia programowania zadań w MapReduce wykracza poza temat tego artykułu – tutaj skupimy się na instalacji klastra. Warto natomiast dodać, że Hadoop oferuje mechanizm (a dokładnie klasę Java) zwany streaming, który pozwala przekierować potok danych do różnego rodzaju skryptów (np. Pythona) i w nich realizować przetwarzanie danych.
 
> Instalacja testowa
 
Do instalacji klastra Hadoop wykorzystamy cztery maszyny z systemem CentOS 7. Będzie to bardziej instalacja testowa niż produkcyjna, gdyż zostaną w niej pominięte między innymi kwestie bezpieczeństwa. Ponadto nasz klaster będzie zapewniać mechanizm failover dla hostów przechowujących dane, ale nie będzie tego udostępniać głównemu hostowi zarządzającemu klastrem, gdzie znajdą się journal dla HDFS i zarządca zadań YARN. Aby ułatwić zadanie, całą konfigurację przeprowadzimy z konta root, z niego też będą uruchamiane poszczególne komponenty. Maszyny podzielimy w taki sposób, że jedna będzie pełnić rolę nadzorcy (procesy NameNode i ResourceManager) i nazwiemy ją master:
 
# hostnamectl set-hostname master
 
Pozostałe trzy będą pełnić rolę maszyn przetwarzających i przechowywujących dane (DataNode NodeManager). Należy nazwać te hosty jako node1, node2 i node3.
 
W celu ułatwienia sobie zadania na wszystkich czterech systemach wyłączymy domyślnie uruchomioną zaporę ogniową:
 
# systemctl stop firewalld
# systemctl disable firewalld
 
Na tak przygotowanym systemie CentOS 7 rozpoczynamy instalację Hadoopa. Ponieważ większość konfiguracji będzie identyczna, można ją przeprowadzić na jednej maszynie wirtualnej, a następnie sklonować. Tam, gdzie konfiguracja będzie się różnić, wyraźnie to zaznaczymy.
 
> INSTALACJA JAVY
 
Hadoop głównie pisany jest w Javie i wymaga jej obecności na każdej maszynie. Użyte w opisywanym wdrożeniu wersje Javy były najnowszymi dostępnymi. W przypadku instalacji produkcyjnych należy zapoznać się z rekomendacjami znajdującymi się na stronie hadoop.apache.org, gdzie można znaleźć, jaka wersja Hadoopa najlepiej współpracuje z konkretną wersją Javy.
 
Pobieramy Java JDK dla systemu Linux na komputer i kopiujemy na host master. Następnie pobieramy wersję binarną Hadoop 3.1.0 i rozpakowujemy wraz z Javą do katalogu /opt/.
 
master# wget http://ftp.man.poznan.pl/apache/hadoop/common/hadoop-3.1.0/
hadoop-3.1.0.tar.gz
master# tar xzf jdk-8u172-linux-x64.tar.gz -C /opt
master# tar xzf hadoop-3.1.0.tar.gz -C /opt/
master# chown -R root:root /opt/
 
Następnie upewniamy się, że rozpakowane pliki należą do superużytkownika, i rejestrujemy naszą wersję Java w systemie. Wykonujemy to za pomocą poniższego narzędzia:
 
# alternatives --install /usr/local/bin/java java
/opt/jdk1.8.0_172/bin/java 1
# alternatives --display java
java – status is auto.
link currently points to /opt/jdk1.8.0_172/bin/java
/opt/jdk1.8.0_172/bin/java – priority 1
Current `best' version is /opt/jdk1.8.0_172/bin/java.
 
[...]
 
Autor zawodowo zajmuje się informatyką. Jest członkiem społeczności open source, prowadzi blog nt. systemu GNU/Linux

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2013 Presscom / Miesięcznik "IT Professional"