HBase
 sql >> Baza danych >  >> NoSQL >> HBase

Ekosystem Hadoop — wprowadzenie do komponentów Hadoop

W naszym poprzednim blogu omówiliśmy Wprowadzenie Hadoop szczegółowo. Teraz na tym blogu odpowiemy, czym jest ekosystem Hadoop i jakie są role komponentów Hadoop.

W tym samouczku dotyczącym komponentów Hadoop omówimy różne komponenty ekosystemu rodziny Hadoop, takie jak HDFS, MapReduce, YARN, Hive, HBase, Pig, Zookeeper itp.

Wszystkie te składniki ekosystemu Hadoop są omawiane wraz z ich funkcjami i obowiązkami.

Samouczek ekosystemu Hadoop

Apache Hadoop to najpotężniejsze narzędzie Big Data. Ekosystem Hadoop obraca się wokół trzech głównych komponentów HDFS, MapReduce i YARN. Oprócz tych komponentów Hadoop istnieją również inne komponenty ekosystemu Hadoop, które odgrywają ważną rolę w zwiększaniu funkcjonalności Hadoop.

przyjrzyjmy się teraz szczegółowo różnym komponentom Hadoop.

a. HDFS

Rozproszony system plików Hadoop (HDFS) to podstawowy system pamięci masowej Hadoop. HDFS przechowuje bardzo duże pliki działające na klastrze zwykłego sprzętu.

Wynika to z zasady przechowywania mniejszej liczby dużych plików niż ogromnej liczby małych plików. HDFS niezawodnie przechowuje dane nawet w przypadku awarii sprzętu. W związku z tym zapewnia dostęp do aplikacji o wysokiej przepustowości poprzez dostęp równoległy.

Komponenty HDFS:

  • NameNode – Działa jako Master w klastrze Hadoop. Namenode przechowuje metadane, tj. liczbę bloków, replik i inne szczegóły. Metadane są obecne w pamięci mastera. NameNode przypisuje zadania do węzła podrzędnego. Powinien być wdrażany na niezawodnym sprzęcie, ponieważ jest centralnym elementem HDFS.
  • DataNode – Działa jako Slave w klastrze Hadoop. W Hadoop HDFS DataNode odpowiada za przechowywanie rzeczywistych danych w HDFS. DataNode wykonuje również operacje odczytu i zapisu zgodnie z żądaniem dla klientów. DataNodes można również wdrażać na zwykłym sprzęcie.

b. MapReduce

Hadoop MapReduce to warstwa przetwarzania danych Hadoop. Przetwarza duże ustrukturyzowane i nieustrukturyzowane dane przechowywane w HDFS. MapReduce przetwarza również równolegle ogromne ilości danych.

Dokonuje tego poprzez podzielenie zadania (przesłanej pracy) na zestaw niezależnych zadań (pod-praca). W Hadoop MapReduce działa, dzieląc przetwarzanie na fazy:Mapowanie i Redukcja.

  • Mapa – Jest to pierwsza faza przetwarzania, w której określamy cały złożony kod logiczny.
  • Zmniejsz – To druga faza przetwarzania. Tutaj określamy lekkie przetwarzanie, takie jak agregacja/sumowanie.

c. PRZĘDZA

Hadoop YARN zapewnia zarządzanie zasobami. Jest to system operacyjny Hadoop. Jest więc odpowiedzialny za zarządzanie i monitorowanie obciążeń, wdrażanie kontroli bezpieczeństwa. Jest to centralna platforma do dostarczania narzędzi do zarządzania danymi w klastrach Hadoop.

YARN umożliwia korzystanie z wielu silników przetwarzania danych, takich jak przesyłanie strumieniowe w czasie rzeczywistym, przetwarzanie wsadowe itp.

Składniki przędzy:

  • Menedżer zasobów –  Jest to składnik na poziomie klastra i działa na maszynie Master. W związku z tym zarządza zasobami i planuje aplikacje działające na górze YARN. Składa się z dwóch komponentów:harmonogramu i menedżera aplikacji.
  • Menedżer węzłów –  Jest to składnik na poziomie węzła. Działa na każdej maszynie podrzędnej. Stale komunikuje się z Menedżerem zasobów, aby być na bieżąco

d. Ula

Apache Hive to system hurtowni danych typu open source używany do wykonywania zapytań i analizowania dużych zestawów danych przechowywanych w plikach Hadoop. Przetwarza ustrukturyzowane i częściowo ustrukturyzowane dane w Hadoop.

Hive obsługuje również analizę dużych zbiorów danych przechowywanych w HDFS, a także w systemie plików Amazon S3 jest obsługiwany przez Hive. Hive używa języka o nazwie HiveQL (HQL), który jest podobny do SQL. HiveQL automatycznie tłumaczy zapytania podobne do SQL na zadania MapReduce.

e. Świnia

Jest to platforma językowa wysokiego poziomu opracowana do wykonywania zapytań na ogromnych zestawach danych przechowywanych w Hadoop HDFS. PigLatin to język używany w pig, który jest bardzo podobny do SQL.

Pig ładuje dane, stosuje wymagane filtry i zrzuca dane w wymaganym formacie. Pig konwertuje również wszystkie operacje na zadania Map i Reduce, które są efektywnie przetwarzane w Hadoop.

Charakterystyka świni:

  • Rozszerzalny – Użytkownicy Pig mogą tworzyć niestandardowe funkcje, aby spełnić ich szczególne wymagania dotyczące przetwarzania.
  • Samooptymalizacja –  Ponieważ Pig pozwala systemowi na automatyczną optymalizację. Dzięki temu użytkownik może skupić się na semantyce.
  • Obsługuje wszystkie rodzaje danych –  Świnie analizują zarówno strukturalne, jak i niestrukturalne.

f. HBase

Apache HBase to baza danych NoSQL, która działa na górze Hadoop. Jest to baza danych przechowująca uporządkowane dane w tabelach, które mogą mieć miliardy wierszy i miliony kolumn. HBase zapewnia również dostęp w czasie rzeczywistym do odczytu lub zapisu danych w HDFS.

Komponenty HBase:

  • HBase Master – Nie jest częścią faktycznego przechowywania danych. Ale wykonuje administrację (interfejs do tworzenia, aktualizowania i usuwania tabel).
  • Serwer regionalny – Jest to węzeł roboczy. Obsługuje żądania odczytu, zapisu, aktualizacji i usuwania od klientów. Proces serwera regionu również działa na każdym węźle w klastrze Hadoop.

g. HKatalog

Jest to warstwa zarządzania tabelami i pamięcią masową na szczycie Apache Hadoop. HCatalog jest głównym składnikiem Hive. Dzięki temu umożliwia użytkownikowi przechowywanie swoich danych w dowolnym formacie i strukturze. Obsługuje również różne komponenty Hadoop, aby łatwo odczytywać i zapisywać dane z klastra.

Zalety HCatalog:

  • Zapewnij widoczność narzędzi do czyszczenia i archiwizacji danych.
  • Dzięki abstrakcji tabeli HCatalog uwalnia użytkownika od narzutów związanych z przechowywaniem danych.
  • Włącza powiadomienia o dostępności danych.

ja. Avro

Jest to projekt typu open source, który zapewnia usługi serializacji i wymiany danych dla platformy Hadoop. Korzystając z serializacji, programy serwisowe mogą serializować dane do plików lub wiadomości.

Przechowuje również definicje danych i dane razem w jednym komunikacie lub pliku. Ułatwia to programom dynamiczne zrozumienie informacji przechowywanych w pliku lub wiadomości Avro.

Avro zapewnia:

  • Plik kontenera do przechowywania trwałych danych.
  • Zdalne wywołanie procedury.
  • Bogate struktury danych.
  • Kompaktowy, szybki, binarny format danych.

j. Oszczędność

Apache Thrift to platforma programowa, która umożliwia tworzenie skalowalnych usług w wielu językach. Thrift jest również używany do komunikacji RPC. Apache Hadoop wykonuje wiele wywołań RPC, więc istnieje możliwość wykorzystania Thrift do zwiększenia wydajności.

k. Wiertarka

Wiertło służy do przetwarzania danych na dużą skalę. Zaprojektowanie wiertła polega na skalowaniu do kilku tysięcy węzłów i odpytywaniu petabajtów danych. Jest to również rozproszony silnik zapytań o niskim opóźnieniu dla zestawów danych o dużej skali.

Ćwiczenie jest również pierwszym rozproszonym silnikiem zapytań SQL, który ma model wolny od schematów.

Charakterystyka wiertła :

  • Sprawdzanie zdecentralizowanych metadanych –  Drill nie ma scentralizowanych wymagań dotyczących metadanych. Użytkownicy drążenia nie muszą tworzyć i zarządzać tabelami w metadanych w celu wykonywania zapytań o dane.
  • Elastyczność – Drill zapewnia hierarchiczny kolumnowy model danych. Może reprezentować złożone, bardzo dynamiczne dane, a także umożliwiać wydajne przetwarzanie.
  • Dynamiczne odkrywanie schematów – Aby rozpocząć proces wykonywania zapytania Drill nie wymaga określania typu danych. Zamiast tego drążenie rozpoczyna przetwarzanie danych w jednostkach zwanych partiami rekordów. Odkrywa również schemat w locie podczas przetwarzania.

l. Mahout

Jest to platforma open source służąca do tworzenia skalowalnego algorytmu uczenia maszynowego. Gdy przechowujemy dane w HDFS, mahout zapewnia narzędzia do analizy danych, które automatycznie znajdują sensowne wzorce w tych zestawach Big Data.

m. Łyżka

Służy głównie do importowania i eksportowania danych. Importuje więc dane ze źródeł zewnętrznych do powiązanych komponentów Hadoop, takich jak HDFS, HBase lub Hive. Eksportuje również dane z Hadoop do innych źródeł zewnętrznych. Sqoop współpracuje z relacyjnymi bazami danych, takimi jak Teradata, Netezza, Oracle, MySQL.

rzecz. Koryto

Flume skutecznie zbiera, agreguje i przenosi duże ilości danych ze swojego źródła i odsyła je z powrotem do HDFS. Posiada bardzo prostą i elastyczną architekturę opartą na strumieniowych przepływach danych. Flume jest odporny na awarie, a także niezawodny mechanizm.

Flume umożliwia również przepływ danych ze źródła do środowiska Hadoop. Wykorzystuje prosty, rozszerzalny model danych, który pozwala na aplikację analityczną online. Dlatego korzystając z Flume możemy natychmiast pobrać dane z wielu serwerów do Hadoop.

o. Ambari

Jest to platforma zarządzania open source. Jest to platforma do udostępniania, zarządzania, monitorowania i zabezpieczania klastra Apache Hadoop. Zarządzanie Hadoop staje się prostsze, ponieważ Ambari zapewnia spójną, bezpieczną platformę do kontroli operacyjnej.

Zalety Ambari:

  • Uproszczona instalacja, konfiguracja i zarządzanie –  Może łatwo i wydajnie tworzyć i zarządzać klastrami na dużą skalę.
  • Scentralizowana konfiguracja zabezpieczeń –  Ambari konfiguruje zabezpieczenia klastra na całej platformie. Zmniejsza również złożoność administrowania.
  • Wysoce rozszerzalny i konfigurowalny –  Ambari jest wysoce rozszerzalny w zakresie zarządzania usługami niestandardowymi.
  • Pełny wgląd w stan klastra – Ambari zapewnia, że ​​klaster jest zdrowy i dostępny dzięki holistycznemu podejściu do monitorowania.

str. Opiekun zoo

Zookeeper w Hadoop to scentralizowana usługa. Utrzymuje informacje o konfiguracji, nazewnictwo i zapewnia rozproszoną synchronizację. Świadczy również usługi grupowe. Zookeeper zarządza również i koordynuje dużą grupę maszyn.

Korzyści z Zookeepera:

  • Szybko – zookeeper jest szybki w przypadku obciążeń, w których odczyty danych są częstsze niż zapisy. Idealny stosunek odczytu/zapisu to 10:1.
  • Zamówione – zookeeper prowadzi rejestr wszystkich transakcji, który może być również używany na wysokim poziomie

q. Oozie

Jest to system planowania przepływu pracy do zarządzania zadaniami Apache Hadoop. Łączy wiele zadań sekwencyjnie w jedną logiczną jednostkę pracy.

Dlatego framework Oozie jest w pełni zintegrowany ze stosem Apache Hadoop, YARN jako centrum architektury. Obsługuje również zadania Hadoop dla Apache MapReduce, Pig, Hive i Sqoop.

Oozie jest skalowalny, a także bardzo elastyczny. Można łatwo uruchamiać, zatrzymywać, zawieszać i ponownie uruchamiać zadania. W związku z tym Oozie bardzo ułatwia ponowne uruchamianie nieudanych przepływów pracy. Możliwe jest również pominięcie konkretnego uszkodzonego węzła.

Istnieją dwa podstawowe typy zadań Oozie:

  • Przepływ pracy Oozie –  Służy do przechowywania i uruchamiania przepływów pracy złożonych z zadań Hadoop, np. MapReduce, Pig, Hive.
  • Koordynator Oozie –  Uruchamia zadania przepływu pracy w oparciu o predefiniowane harmonogramy i dostępność danych.

Wniosek

Dlatego Hadoop Ecosystem zapewnia różne komponenty, dzięki którym jest tak popularny. Dzięki tym komponentom Hadoop dostępnych jest teraz kilka ról zadań Hadoop.

Mam nadzieję, że ten samouczek dotyczący ekosystemu Hadoop pomoże ci w zrozumieniu rodziny Hadoop i jej ról. Jeśli znajdziesz jakieś pytanie, podziel się z nami w polu komentarza.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Używanie Hive do interakcji z HBase, część 1

  2. Wprowadzenie do lokalizacji danych w Hadoop MapReduce

  3. Hadoop MapReduce samouczek dla początkujących

  4. Dzielenie i łączenie regionów Apache HBase

  5. Problem z małymi plikami