Co to jest Hadoop? Wstęp, Archistruktura, ekosystem, komponenty
Co to jest Hadoop?
Apache Hadoop to platforma oprogramowania typu open source używana do tworzenia aplikacji do przetwarzania danych, które są wykonywane w rozproszonym środowisku komputerowym.
Aplikacje zbudowane przy użyciu HADOOP są uruchamiane na dużych zestawach danych rozproszonych w klastrach komputerów towarowych. Komputery towarowe są tanie i szeroko dostępne. Są one głównie przydatne do osiągnięcia większej mocy obliczeniowej przy niskich kosztach.
Podobnie jak dane znajdujące się w lokalnym systemie plików komputera osobistego, w Hadoop dane znajdują się w rozproszonym systemie plików nazywanym Rozproszony system plików Hadoop. Model przetwarzania opiera się na „Lokalizacja danych” koncepcja, w której logika obliczeniowa jest wysyłana do węzłów klastra (serwera) zawierających dane. Ta logika obliczeniowa to nic innego, jak skompilowana wersja programu napisanego w języku wysokiego poziomu, takim jak Java. Program taki przetwarza dane zapisane w Hadoop HDFS.
Czy wiesz? Klaster komputerowy składa się z zestawu wielu jednostek przetwarzających (dysk pamięci masowej + procesor), które są ze sobą połączone i działają jak pojedynczy system.
Ekosystem i komponenty Hadoop
Poniższy diagram przedstawia różne komponenty ekosystemu Hadoop:
Apache Hadoop składa się z dwóch podprojektów –
- Mapa HadoopRedukuj: MapReduce to model obliczeniowy i framework oprogramowania do pisania aplikacji, które są uruchamiane na Hadoop. Te programy MapReduce są w stanie przetwarzać ogromne dane równolegle na dużych klastrach węzłów obliczeniowych.
- HDFS (Rozproszony system plików Hadoop): HDFS zajmuje się częścią pamięci masowej aplikacji Hadoop. Aplikacje MapReduce pobierają dane z HDFS. HDFS tworzy wiele replik bloków danych i dystrybuuje je na węzłach obliczeniowych w klastrze. Ta dystrybucja umożliwia niezawodne i niezwykle szybkie obliczenia.
Chociaż Hadoop jest najbardziej znany z MapReduce i jego rozproszonego systemu plików HDFS, termin ten jest również używany w odniesieniu do rodziny powiązanych projektów wchodzących w zakres przetwarzania rozproszonego i przetwarzania danych na dużą skalę. Inne projekty związane z Hadoopem pod adresem Apache obejmują Hive, HBase, Mahout, Sqoop, Flume i ZooKeeper.
Hadoop Architektura
Hadoop ma Master-Slave Architecture przechowywania i rozproszonego przetwarzania danych z wykorzystaniem MapaReduce i metody HDFS.
NazwaWęzeł:
NameNode reprezentował wszystkie pliki i katalogi używane w przestrzeni nazw
Węzeł danych:
DataNode pomaga zarządzać stanem węzła HDFS i umożliwia interakcję z blokami
Węzeł główny:
Węzeł główny umożliwia równoległe przetwarzanie danych przy użyciu Hadoop MapReduce.
Węzeł podrzędny:
Węzły podrzędne to dodatkowe maszyny w klastrze Hadoop, które umożliwiają przechowywanie danych w celu przeprowadzania złożonych obliczeń. Ponadto wszystkie węzły podrzędne są wyposażone w Task Tracker i DataNode. Umożliwia to synchronizację procesów odpowiednio z NameNode i Job Tracker.
W Hadoop system główny lub podrzędny można skonfigurować w chmurze lub lokalnie
Funkcje „Hadoopa”
• Nadaje się do analizy dużych zbiorów danych
Ponieważ Big Data ma tendencję do rozproszenia i niestrukturyzacji, klastry HADOOP najlepiej nadają się do analizy Big Data. Ponieważ to logika przetwarzania (a nie rzeczywiste dane) przepływa do węzłów obliczeniowych, zużywana jest mniejsza przepustowość sieci. Ta koncepcja jest nazywana koncepcja lokalizacji danych co pomaga zwiększyć wydajność aplikacji opartych na Hadoop.
• Skalowalność
Klastry HADOOP można łatwo skalować w dowolnym zakresie, dodając dodatkowe węzły klastra, co pozwala na wzrost Big Data. Ponadto skalowanie nie wymaga modyfikacji logiki aplikacji.
• Tolerancja na błędy
Ekosystem HADOOP ma możliwość replikowania danych wejściowych na inne węzły klastra. W ten sposób w przypadku awarii węzła klastra przetwarzanie danych może nadal odbywać się przy użyciu danych przechowywanych na innym węźle klastra.
Topologia sieci w Hadoop
Topologia (układ) sieci wpływa na wydajność klastra Hadoop, gdy rozmiar klastra Hadoop rośnie. Oprócz wydajności należy również zadbać o wysoką dostępność i obsługę awarii. Aby osiągnąć ten Hadoop, tworzenie klastra wykorzystuje topologię sieci.
Zazwyczaj przepustowość sieci jest ważnym czynnikiem, który należy wziąć pod uwagę podczas tworzenia dowolnej sieci. Jednak ponieważ pomiar przepustowości może być trudny, w Hadoop sieć jest reprezentowana jako drzewo, a odległość między węzłami tego drzewa (liczba przeskoków) jest uważana za ważny czynnik w tworzeniu klastra Hadoop. Tutaj odległość między dwoma węzłami jest równa sumie ich odległości do ich najbliższego wspólnego przodka.
Klaster Hadoop składa się z centrum danych, szafy i węzła, który faktycznie wykonuje zadania. Tutaj centrum danych składa się ze szaf, a szafa składa się z węzłów. Przepustowość sieci dostępna dla procesów zmienia się w zależności od lokalizacji procesów. Oznacza to, że dostępna przepustowość staje się mniejsza, gdy odchodzimy od-
- Procesy w tym samym węźle
- Różne węzły na tym samym stojaku
- Węzły w różnych szafach tego samego centrum danych
- Węzły w różnych centrach danych