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



19.10.2018

4K, HDR i USB-C

Philips 328P6VUBREB
16.10.2018

Pełna optymalizacja

Quest Foglight for Virtualization Enterprise 8.8 (FVE)
12.10.2018

Linux w chmurze Azure

SUSE Linux Enterprise 15 / Microsoft Azure
09.10.2018

Nowe antywirusy

Bitdefender 2019
03.10.2018

Niezawodny tandem

Veeam Hyper-Availability Platform i Cisco HyperFlex
26.09.2018

Zarządzane z chmury

NETGEAR GC752X(P)
21.09.2018

Kolor razy 6

Kyocera ECOSYS i TASKalfa
18.09.2018

Na ataki piątej generacji

Check Point 23900
14.09.2018

UHD dla pro

Samsung UJ59

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"