what is hadoop apache hadoop tutorial
Ten samouczek dotyczący platformy Apache Hadoop dla początkujących wyjaśnia szczegółowo wszystko o Big Data Hadoop, jego funkcjach, strukturze i architekturze:
przykłady testów białoskrzynkowych
W poprzednim samouczku szczegółowo omówiliśmy Big Data. Teraz pytanie brzmi, jak możemy obsłużyć i przetworzyć tak dużą ilość danych z wiarygodnymi i dokładnymi wynikami.
Naprawdę istnieje świetne rozwiązanie dostarczone przez Apache i oparte na Javie, tj. Struktura Hadoop .
=> Przeczytaj serię łatwych szkoleń BigData.
Czego się nauczysz:
Co to jest Hadoop?
Apache Hadoop to platforma typu open source do zarządzania wszystkimi typami danych (ustrukturyzowanymi, nieustrukturyzowanymi i częściowo ustrukturyzowanymi).
Jak wszyscy wiemy, jeśli chcemy przetwarzać, przechowywać i zarządzać naszymi danymi, to RDBMS jest najlepszym rozwiązaniem. Jednak dane powinny być w ustrukturyzowanym formacie, aby można je było obsługiwać za pomocą RDBMS. Ponadto, jeśli rozmiar danych rośnie, RDBMS nie jest w stanie ich obsłużyć i musimy regularnie czyścić bazę danych.
Może to spowodować utratę danych historycznych i nie może wygenerować dokładnych i wiarygodnych wyników w niektórych branżach, takich jak prognoza pogody, bankowość, ubezpieczenia, sprzedaż itp. Innym problemem związanym z RDBMS jest to, że jeśli główny serwer ulegnie awarii, możemy stracić ważne danych i dużo cierpieć.
W tym samouczku zobaczymy, jak możemy rozwiązać te problemy za pomocą Apache Hadoop.
Hadoop to rozproszony system plików, który może przechowywać duże ilości danych (dane w petabajtach i terabajtach). Szybkość przetwarzania danych jest również bardzo duża i zapewnia wiarygodne wyniki, ponieważ ma bardzo wysoki system odporności na uszkodzenia.
Hadoop to oparta na Javie platforma programistyczna typu open source, która obsługuje przechowywanie i przetwarzanie dużych zbiorów danych w rozproszonym środowisku obliczeniowym.
Hadoop jest oparty na koncepcji klastra przy użyciu standardowego sprzętu. Nie wymaga żadnej skomplikowanej konfiguracji, a środowisko Hadoop możemy stworzyć za pomocą tańszego, prostego i lekkiego sprzętu konfiguracyjnego.
Pojęcie klastra w prostych słowach to dane, które są przechowywane w formacie replikacji na wielu komputerach, więc gdy jakikolwiek problem lub katastrofa wystąpi w jednej z lokalizacji, w której znajdują się dane, musi istnieć zduplikowana kopia tych danych bezpiecznie dostępna w innej lokalizacji .
Hadoop Vs RDMBS
Poniżej wymieniono kilka punktów, które opisują zalety Hadoop nad RDBMS.
funkcje | Hadoop | RDBMS |
---|---|---|
Przechowywanie | Bardzo duża pojemność magazynowa. | Nie można przechowywać Bigdata. |
Architektura | Hadoop jest oparty na HDFS, MapReduce i YARN. | RDBMS jest oparty na właściwościach ACID. |
Tom | Może obsługiwać duże ilości danych. | RDBMS nie obsługuje dużych ilości danych. |
Różnorodność / rodzaje danych | Może obsługiwać ustrukturyzowane, częściowo ustrukturyzowane i nieustrukturyzowane dane, takie jak wideo, obrazy, pliki CSV, XML itp. | Obsługuj tylko dane strukturalne. |
Prędkość | Szybkie przetwarzanie dużej ilości danych. | Bardzo wolno podczas przetwarzania dużej ilości danych. |
Wydajność | Wysoka przepustowość. | Niska przepustowość. |
Odporność na uszkodzenia | Bardzo dobrze | Brak możliwości odzyskania utraconych danych w przypadku awarii głównego serwera. |
Niezawodny | Bardzo wiarygodne i generujące dokładne raporty historyczne i bieżące. | Niezawodny w zakresie Bigdata. |
Funkcje Hadoop
Znamy teraz dokładną definicję Hadoop. Zróbmy krok do przodu i zapoznajmy się z terminologią używaną w Hadoop, poznajmy jego architekturę i zobaczmy, jak dokładnie działa w Bigdata.
Framework Hadoop jest oparty na następujących koncepcjach lub modułach:
- PRZĘDZA Hadoop
- Hadoop Common
- Hadoop HDFS ( H. adoop re przypisane fa z S ystem)
- Hadoop MapReduce
# 1) PRZĘDZA Hadoop: YARN oznacza „ Y i DO inny R esource N egotiator ”, który służy do zarządzania technologią klastrową chmury. Służy do planowania zadań.
# 2) Hadoop Common: Są to szczegółowe biblioteki lub narzędzia używane do komunikacji z innymi funkcjami Hadoop, takimi jak YARN, MapReduce i HDFS.
# 3) Hadoop HDFS: Rozproszony system plików jest używany w Hadoop do przechowywania i przetwarzania dużej ilości danych. Służy również do uzyskiwania dostępu do danych z klastra.
# 4) Hadoop MapReduce: MapReduce to główna funkcja Hadoop odpowiedzialna za przetwarzanie danych w klastrze. Służy do planowania zadań i monitorowania przetwarzania danych.
Tutaj właśnie dołączyliśmy definicję tych funkcji, ale szczegółowy opis wszystkich tych funkcji zobaczymy w naszych nadchodzących samouczkach.
Architektura Hadoop
Poznajmy architekturę frameworka i zobaczmy, jakie komponenty są w nim używane. Ta struktura jest zgodna z architekturą master-slave w klastrze.
Oto składniki Hadoop:
- HDFS
- MapReduce
- PRZĘDZA
Oto trzy ważne elementy architektury Hadoop. Powinniśmy również zrozumieć niektóre terminologie lub koncepcje Architektury i zobaczyć, jak one działają.
- Nazwij węzeł
- Węzeł danych
- Węzeł nazwy dodatkowej
- Bloki
# 1) Nazwij węzeł
Nazwa Węzeł jest głównym węzłem w HDFS. Zawiera metadane HDFS, takie jak informacje o plikach, strukturę katalogów, informacje o blokach i wszystkie informacje o węźle danych, itp. Węzeł nazwy jest odpowiedzialny tylko za dostęp do danych lub plików od klienta. Śledzi wszystkie transakcje lub zmiany dokonane w plikach.
Działa głównie na dwóch plikach, tj. FsImage i EditLogs . Name Node ma JobTracker, który zawiera wszystkie szczegóły dotyczące węzła danych, takie jak to, który węzeł danych ma jakie zadanie, ile bloków znajduje się w każdym węźle danych, bicie serca każdego węzła danych, szczegóły planowania zadań w klastrze itp.
Krótko mówiąc, możemy powiedzieć, że JobTracker zawiera TaskTracker każdego węzła danych.
# 2) Węzeł danych
Węzeł danych jest węzłem podrzędnym w HDFS. Węzeł danych jest odpowiedzialny za faktyczne przechowywanie i przetwarzanie danych. Jego głównym zadaniem jest podzielenie zadania na trzy bloki i zapisanie go w różnych węzłach danych. Następnie rozpoczyna się przetwarzanie danych.
Posiada również TaskTracker, który ma pełne informacje o każdym bloku i który blok jest odpowiedzialny za jakie zadanie, który blokuje zadanie, itp. I po przetworzeniu danych wysyła informacje do Name Node. Za każdym razem, gdy węzeł danych jest uruchamiany, ponownie wysyła wszystkie informacje do węzła nazwy.
# 3) Drugi węzeł nazwy
Węzeł nazwy dodatkowej jest używany w przypadku odporności na błędy. Istnieją dwa scenariusze, w których węzeł Name jest wyłączony i pełna struktura Hadoop zakończy się niepowodzeniem, ponieważ węzeł Name jest pojedynczym punktem awarii.
(i) Jeśli Name Node uruchomi się ponownie z powodu jakiegokolwiek problemu, niż potrzeba do ponownego pojawienia się, ponieważ zawiera ogromną ilość danych, to odzyskanie tego wymaga czasu.
(ii) W przypadku awarii Name Node wszystkie dane HDFS zostaną utracone i nie będzie można ich ponownie odzyskać, ponieważ Name Node jest pojedynczym punktem awarii. Zatem, aby rozwiązać te problemy, istnieje węzeł nazwy dodatkowej. Zawiera również obraz Namespace i dzienniki edycji takie same jak Name Node.
Po pewnym czasie skopiuje obraz Namespace i zaktualizuje dzienniki edycji z węzła Name. Tak więc w przypadku awarii węzła nazwy na obraz pojawia się dodatkowy węzeł nazwy i zachowuje się jak główny węzeł nazwy. Dzięki temu procesowi zapobiega całkowitej awarii.
# 4) Bloki
Bloki to najmniejsza jednostka w HDFS. Hadoop może przetworzyć ogromną ilość plików, ponieważ dzieli je na małe bloki. Można powiedzieć, że bloki to nic innego jak dane dużego pliku. Rozmiar każdego bloku to 128 MB. Te bloki są zapisywane w węzłach danych i przetwarzają dane.
Teraz nauczmy się architektury Hadoop, aby zrozumieć jego działanie.
Rozproszony system plików Hadoop (HDFS) to system plików używany w klastrze Hadoop. Do przechowywania danych Hadoop w klastrze używany jest głównie HDFS. HDFS generalnie pracuje nad sekwencyjnym przetwarzaniem danych. Jak już wiemy, jest oparty na architekturze Master-Slave.
Wszystkie metadane klastra są zapisywane w węźle Name w JobTracker, a rzeczywiste dane są przechowywane w węźle danych HDFS w TaskTracker.
MapReduce odpowiada za przetwarzanie danych. Ilekroć jakikolwiek plik trafia do klastra w celu przetworzenia, pierwszy węzeł danych dzieli go na bloki, a każdy blok zawiera 64 MB danych i może przechowywać 128 MB. Następnie każdy blok będzie dwukrotnie replikowany i przechowywany w różnych węzłach danych w dowolnym miejscu klastra.
Wszystkie te informacje zostaną przesłane do węzła nazwy, a węzeł nazwy zapisze te informacje w postaci metadanych. Następnie faktyczne przetwarzanie danych uruchomi węzeł danych i będzie wysyłał puls do węzła nazwy co trzy sekundy, tak aby węzeł nazwy miał informacje, nad którymi ten węzeł danych pracuje.
Jeśli którykolwiek z węzłów danych nie wysyła pulsu, węzeł nazwy ponownie tworzy replikę tego bloku w innym węźle danych i rozpoczyna przetwarzanie.
Wszystkie te informacje lub migawki będą przechowywane w FsImage i jeśli transakcja zostanie wykonana, edytuj dziennik, połącz nowe informacje i zawsze zachowuje świeżą kopię dzienników.
Blok, który zakończy zadanie jako pierwszy, zostanie pobrany, a węzeł danych wyśle informacje do węzła nazwy, a węzeł nazwy podejmie odpowiednią akcję.
W całym tym procesie YARN będzie wspierać i dostarczać wymagane zasoby do systemu, tak aby nie wpłynęło to na przetwarzanie danych i szybkość. Po przetworzeniu danych wyniki zostaną zapisane w HDFS do dalszej analizy.
Wniosek
W tym samouczku dowiedzieliśmy się, czym jest Hadoop, różnicami między RDBMS a Hadoop, zaletami, komponentami i architekturą Hadoop.
Ta struktura jest odpowiedzialna za przetwarzanie dużych zbiorów danych i ich analizę. Widzieliśmy, że MapReduce, YARN i HDFS działają w klastrze.
Uwaga: Poniżej przedstawiono szczegóły konfiguracji węzła nazwy i węzła danych. Węzeł nazwy pomocniczej będzie miał taką samą konfigurację jak węzeł nazwy.
Konfiguracja węzła nazw:
Procesory: 2 czterordzeniowe procesory 2 GHz
RAM: 128 GB
Dysk: 6 x 1 TB SATA
Sieć: 10 Gigabit Ethernet
Konfiguracja węzła danych:
Procesory: 2 czterordzeniowe procesory 2 GHz
RAM: 64 GB
Dysk: 12-24 x 1 TB SATA
Sieć: 10 Gigabit Ethernet
=> Zapoznaj się z przewodnikiem dla początkujących w zakresie Big Data.
rekomendowane lektury
- Samouczek dotyczący Big Data dla początkujących | Co to jest Big Data?
- Ponad 20 samouczków MongoDB dla początkujących: bezpłatny kurs MongoDB
- Jak skonfigurować środowisko testowe Node.js: samouczek Node.js.
- Data Mart Tutorial - Rodzaje, przykłady i implementacja Data Mart
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Samouczek Pythona dla początkujących (praktyczne BEZPŁATNE szkolenie Python)
- Data Driven Framework w Selenium WebDriver przy użyciu Apache POI
- Samouczek LoadRunner dla początkujących (bezpłatny 8-dniowy szczegółowy kurs)