Co to jest Hadoop? Wprowadzenie, architektura, ekosystem, komponenty

Spisie treści:

Anonim

Co to jest Hadoop?

Apache Hadoop to platforma oprogramowania typu open source służąca do tworzenia aplikacji do przetwarzania danych, które są wykonywane w rozproszonym środowisku obliczeniowym.

Aplikacje zbudowane przy użyciu HADOOP są uruchamiane na dużych zbiorach danych rozproszonych w klastrach zwykłych komputerów. Komputery towarowe są tanie i powszechnie dostępne. Są one głównie przydatne do uzyskiwania większej mocy obliczeniowej przy niskich kosztach.

Podobnie jak w przypadku danych znajdujących się w lokalnym systemie plików systemu komputera osobistego, w Hadoop dane znajdują się w rozproszonym systemie plików nazywanym rozproszonym systemem plików Hadoop . Model przetwarzania oparty jest na koncepcji „Lokalności Danych”, 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. Taki program przetwarza dane przechowywane w Hadoop HDFS.

Czy wiesz? Klaster komputerowy składa się z zestawu wielu jednostek przetwarzania (dysk + procesor), które są ze sobą połączone i działają jako pojedynczy system.

W tym samouczku dowiesz się,

  • Hadoop EcoSystem i komponenty
  • Architektura Hadoop
  • Funkcje `` Hadoop ''
  • Topologia sieci na platformie Hadoop

Hadoop EcoSystem i komponenty

Poniższy diagram przedstawia różne komponenty w ekosystemie Hadoop:

Apache Hadoop składa się z dwóch podprojektów -

  1. Hadoop MapReduce: MapReduce to model obliczeniowy i struktura oprogramowania do pisania aplikacji uruchamianych na platformie Hadoop. Te programy MapReduce są zdolne do równoległego przetwarzania ogromnych danych w dużych klastrach węzłów obliczeniowych.
  2. HDFS ( Hadoop Distributed File System ): HDFS zajmuje się częścią magazynową aplikacji Hadoop. Aplikacje MapReduce wykorzystują dane z HDFS. HDFS tworzy wiele replik bloków danych i dystrybuuje je w 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 dla rodziny powiązanych projektów, które mieszczą się w zakresie przetwarzania rozproszonego i przetwarzania danych na dużą skalę. Inne projekty związane z Hadoop w Apache to Hive, HBase, Mahout, Sqoop, Flume i ZooKeeper.

Architektura Hadoop

Architektura Hadoop wysokiego poziomu

Hadoop ma architekturę Master-Slave do przechowywania danych i rozproszonego przetwarzania danych przy użyciu metod MapReduce i HDFS.

NameNode:

NameNode reprezentował wszystkie pliki i katalog, który jest używany w przestrzeni nazw

DataNode:

DataNode pomaga zarządzać stanem węzła HDFS i umożliwia interakcję z blokami

MasterNode:

Węzeł główny umożliwia równoległe przetwarzanie danych przy użyciu Hadoop MapReduce.

Węzeł podrzędny:

Węzły slave to dodatkowe maszyny w klastrze Hadoop, które umożliwiają przechowywanie danych w celu przeprowadzania złożonych obliczeń. Co więcej, wszystkie węzły slave są wyposażone w Task Tracker i DataNode. Pozwala to na synchronizację procesów odpowiednio z NameNode i Job Tracker.

W Hadoop system master lub slave można skonfigurować w chmurze lub lokalnie

Funkcje `` Hadoop ''

• Nadaje się do analizy Big Data

Ponieważ Big Data ma charakter rozproszony i nieustrukturyzowany, 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żywa się mniej przepustowości sieci. Ta koncepcja jest nazywana koncepcją lokalizacji danych, która pomaga zwiększyć wydajność aplikacji opartych na platformie Hadoop.

• Skalowalność

Klastry HADOOP można łatwo skalować w dowolnym stopniu, dodając dodatkowe węzły klastra, co pozwala na rozwój Big Data. Ponadto skalowanie nie wymaga modyfikacji logiki aplikacji.

• Odporność na awarie

Ekosystem HADOOP umożliwia replikację danych wejściowych do innych węzłów klastra. W ten sposób w przypadku awarii węzła klastra przetwarzanie danych może być kontynuowane przy użyciu danych przechowywanych w innym węźle klastra.

Topologia sieci na platformie Hadoop

Topologia (aranżacja) sieci wpływa na wydajność klastra Hadoop, gdy rozmiar klastra Hadoop rośnie. Oprócz wydajności trzeba też zadbać o wysoką dostępność i obsługę awarii. Aby osiągnąć ten Hadoop, tworzenie klastrów wykorzystuje topologię sieci.

Zazwyczaj przepustowość sieci jest ważnym czynnikiem, który należy wziąć pod uwagę podczas tworzenia dowolnej sieci. Ponieważ jednak 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 od 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ę z szaf, a szafa z węzłów. Przepustowość sieci dostępna dla procesów różni się w zależności od lokalizacji procesów. Oznacza to, że dostępna przepustowość zmniejsza się w miarę oddalania się od

  • Procesy w tym samym węźle
  • Różne węzły na tej samej szafie
  • Węzły na różnych stojakach tego samego centrum danych
  • Węzły w różnych centrach danych