Ikona strzałka
Powrót do bloga

Big Data Nie Jest Trudne (Czyli Zapomnij O Teorii I Sprawdź Na Własnej Skórze)

maciej.stopa
maciej.stopa
12/03/2015

Big Data Nie Jest Trudne z AWS EMR
Pokażę wam jak w prosty sposób i przy minimalnych nakładach pracy przygotować swój własny klaster Elastic MapReduce w AWS czyli środowisko Hadoop i aplikacji z nim związanych.
Dla tych którzy śledzą moje poczynania na blogu Big Data Lab – ostatnim razem przygotowywaliśmy środowisko, w którym przeprowadzaliśmy od zera instalację Ubuntu, konfigurację Chef’a aby w pełni zautomatyzować proces przygotowania środowiska. Oczywiście jest to bardzo dobre rozwiązanie dla małych testów czy udowadniania sobie że się uda.

Automatyzacja Wdrożenia z Amazon Elastic MapReduce

AWS powyższe kroki automatyzuje w takim stopniu, że pozostawia nam jedynie do wypełnienia formularz tworzenia usługi Elastic Map Reduce. Rozpocznijmy zatem tworzenie środowiska, przechodząc z konsoli głównej AWS do usługi EMR.
Amazon Elastic MapReduce
Wystarczy teraz kliknąć w „Create Cluster” i rozpoczynamy wypełnianie naprawdę bardzo prostego formularza tworzenia naszej usługi.
Ustawiamy nazwę, np. „bigdatalab” a następnie lokalizację S3 dla składowania logów środowiska czyli „s3://bigdatalab/logs/”
AWS EMR Cluster Name
Niezbędnym krokiem jest także wybór w którym VPC uruchomione zostaną nasze instancje On Demand oraz Spot, oraz która Availability Zone i podsieć będą je obsługiwały.

Wybór Instancji Dla AWS EMR

Decyzją, która ma kluczowy wpływ na koszty naszego środowiska testowego jest wybór typów instancji które AWS powoła na potrzeby poszczególnych ról klastra.
Dla instancji Master – trzymającej najważniejsze informacje dotyczące budowy oraz elementów składowych Hadoop, stawiamy na instancji On Demand. Jej utrata wiązała by się z całkowitą utratą danych oraz konfiguracji. Powołujemy namniejszą możliwą instancję m1.medium.
Dla instancji Core – bezpiecznie było by dać przynajmniej jedną instancję On Demand, jednak na potrzeby testów kuszące jest wykorzystanie instancji Spot, które w rezultacie pozwalają na kilkukrotne obniżenie kosztów. Licytować będziemy instancję m1.medium w cenie 0.011$.
Dla instancji Task – podobnie uruchamiamy instancje m1.medium jako Spot.
AWS EMR Instance Types
To już wszystkie pola formularza jakie potrzebujemy zmienić aby wystartować nasz klaster Hadoop w środowisku AWS Elastic Map Reduce.

Start Środowiska Amazon Elastic MapReduce

Po kilku dłuższych chwilach możemy zajrzeć do zakładki EC2 i sprawdzić czy instancje On Demand oraz instancje Spot są powoływane.
W zakładce EC2/Spot Instances możemy zaobserwować że nasza licytacja wolnych zasobów AWS po części się już powiodła, dwa z serwerów mają status „fulfilled”, dostaliśmy przydział i maszyny zaczną się uruchamiać.
AWS EMR Spot Instances
Po kilku dłuższych chwilach zaglądając do EC2/Instances widzimy że wszystkie nasze elementy składowe klastra Hadoop, czyli węzły Master, Core i Task.
AWS EMR Running Instances
Wracając do EMR, nasz klaster ma już status Running, wraz z instancjami składowymi.
AWS EMR Cluster Ready

Czas Na Prawdziwe Testy Big Data

Pozostaje nam zalogować się po SSH i zweryfikować czy uruchomi nam się Hive.
Wystarczy teraz wykonać kopiowanie naszego pliku danych który wykorzystywaliśmy ostatnim razem do HDFS. Dla uproszczenia plik ten wcześniej skopiowałem na S3, do ścieżki s3:// bigdatalab/input/Batting.csv
Ponieważ kopiowanie wykonujemy bezpośrednio z S3 do HDFS, komenda będzie nieco inna, podobnie jak lokalizacja docelowa w HDFS czyli „/tmp”.

hadoop distcp s3n://bigdatalab/input/Batting.csv hdfs:///tmp

Tak naprawdę będzie to jedyna różnica w stosunku do tego co wykonaliśmy na testach instalacji lokalnej, także dalsze kroki możemy po prostu skopiować i wkleić, pamiętając aby podmienić ścieżkę HDFS z „/user/root” na „/tmp”

LOAD DATA INPATH '/tmp/Batting.csv' OVERWRITE INTO TABLE temp_batting;

Dalsze kroki pozostawiam twojej wyobraźni, możesz kontynuować przeklejanie z bigdatalab.pl lub spróbować swoich własnych sił, by przekonać się że Big Data nie jest wcale takie trudne, a rozwiązania w Cloud, poza modelem rozliczania przynoszą oszczędność czasu oraz elegancję I za razem prostotę przygotowania środowiska.
Chcesz wiedzieć ile kosztują usługi w Amazon Web Services (w tym Elastic MapReduce)? Sprawdź w artykule Za Co Płacimy w Amazon Web Services.

AKTUALNOŚCI
13/06/20232 min.
AI w średniej firmie: Tworzenie przyszłości przy użyciu LLM.

Już 21 czerwca dowiesz się, jak możesz wykorzystać AI w Twojej firmie. Damian Mazurek i Piotr Kalinowski wprowadzą Cię w świat sztucznej inteligencji i LLM.

Zobacz wpis
AKTUALNOŚCI
14/02/20232 min
Chmurowisko łączy się z Software Mind

Przed nami nowy rozdział! Chmurowisko dokonało połączenia z polskim Software Mind – firmą, która od 20 lat tworzy rozwiązania przyczyniające się do sukcesu organizacji z całego świata…

Zobacz wpis
AKTUALNOŚCI
09/11/20225 min
Migracja systemu Dynamic Precision do Oracle Cloud

Grupa Dynamic Precision podjęła decyzję o unowocześnieniu swojej infrastruktury. Razem z Oracle Polska prowadzimy migrację aplikacji firmy do chmury OCI.

Zobacz wpis
AKTUALNOŚCI
AI w średniej firmie: Tworzenie przyszłości przy użyciu LLM.

Już 21 czerwca dowiesz się, jak możesz wykorzystać AI w Twojej firmie. Damian Mazurek i Piotr Kalinowski wprowadzą Cię w świat sztucznej inteligencji i LLM.

Zobacz wpis
Grafika przedstawiająca chmuręGrafika przedstawiająca chmurę

Zapisz się do naszego newslettera i
bądź z chmurami na bieżąco!

Zostaw nam swój e–mail a co miesiąc dostaniesz spis najważniejszych nowości
z chmur Azure, AWS i GCP, z krótkimi opisami i linkami.