Hadoop

Hadoop

Informacja
Twórca Doug Cutting i Mike Cafarella ( w )
Opracowany przez Fundacja oprogramowania Apache
Pierwsza wersja 1 st kwiecień 2006
Ostatnia wersja 3,3. 0 (14 lipca 2020 r)
Kaucja git-wip-us.apache.org/repos/asf/hadoop.git , gitbox.apache.org/repos/asf?p=hadoop.git i github.com/apache/hadoop
Napisane w Jawa
System operacyjny Wieloplatformowy i POSIX
Środowisko Maszyna wirtualna Java
Rodzaj Struktura
Licencja Licencja Apache w wersji 2.0 i Powszechna Licencja Publiczna GNU
Dokumentacja wiki.apache.org/hadoop/HowToContribute
Stronie internetowej hadoop.apache.org

Hadoop to darmowa i open source'owa platforma napisana w Javie, mająca na celu ułatwienie tworzenia rozproszonych (przechowywanie i przetwarzanie danych) oraz skalowalnych (skalowalnych) aplikacji umożliwiających pracę z tysiącami węzłów i petabajtami danych. Dlatego każdy węzeł składa się ze standardowych maszyn zgrupowanych w klaster. Wszystkie moduły Hadoop są projektowane z myślą, że awarie sprzętu są częste i dlatego powinny być obsługiwane automatycznie przez framework.

Hadoop został zainspirowany publikacją MapReduce , GoogleFS i BigTable firmy Google . Hadoop został stworzony przez Douga Cuttinga i jest częścią projektów Apache Software Foundation od 2009 roku.

Rdzeń Hadoop składa się z części magazynującej: HDFS ( rozproszony system plików Hadoop ) i części przetwarzającej o nazwie MapReduce. Hadoop dzieli pliki na duże bloki i rozprowadza je w węzłach klastra. Aby przetworzyć dane, przesyła kod do każdego węzła, a każdy węzeł przetwarza posiadane dane. Umożliwia to przetwarzanie wszystkich danych szybciej i wydajniej niż w bardziej tradycyjnej architekturze superkomputera który opiera się na równoległym systemie plików, w którym obliczenia i dane są dystrybuowane w szybkich sieciach.

Podstawowy framework Hadoop składa się z następujących modułów:

Termin Hadoop odnosi się nie tylko do powyższych podstawowych modułów, ale także do jego ekosystemu i całego oprogramowania, które się z nim łączy, takiego jak Apache Pig , Apache Hive , Apache HBase , Apache Phoenix , Apache Spark , Apache ZooKeeper , Apache Impala , Apache Flume , Apache Sqoop , Apache Oozie , Apache Storm .

Historyczny

W 2004 roku Google opublikował artykuł przedstawiający jego algorytm oparty na wielkoskalowych operacjach analitycznych na dużym klastrze serwerów MapReduce , a także klastrowym systemie plików GoogleFS . Doug Cutting , który wtedy pracował nad rozwojem Apache Lucene i napotkał problemy podobne do tych z firmy Mountain View, zdecydował się następnie wykorzystać koncepcje opisane w artykule do opracowania własnej wersji narzędzi w wersji open source . , który stanie się projektem Hadoop.

Zainspirował go koc swojego pięcioletniego syna, żółtego słonia, na logo i nazwę tego nowego frameworka Java .

W 2006 roku Doug Cutting zdecydował się dołączyć do Yahoo z projektem Nutch i pomysłami opartymi na wczesnych pracach Google w zakresie rozproszonego przetwarzania i przechowywania danych.

W 2008 roku Yahoo zaoferowało Hadoop jako projekt open source.

W 2011 roku narodził się Hadoop w wersji 1.0.0; przestarzały27 grudnia 2011.

Plik 23 maja 2012, społeczność open source uruchamia Hadoop 2.0, który był oferowany publicznie od listopada 2012 roku w ramach projektu Apache sponsorowanego przez Apache Software Foundation . Główną rewolucją było dodanie warstwy YARN do struktury Hadoop.

Z wrzesień 2016, została wydana wersja 3.0.0-alpha1.

Architektura

Rozproszony system plików Hadoop

HDFS to rozproszony , rozszerzalny i przenośny system plików opracowany przez Hadoop z GoogleFS . Napisany w Javie , został zaprojektowany do przechowywania bardzo dużych ilości danych na dużej liczbie maszyn wyposażonych w standardowe dyski twarde. Pozwala na wyodrębnienie fizycznej architektury pamięci masowej w celu manipulowania rozproszonym systemem plików tak, jakby był pojedynczym dyskiem twardym.

Architektura maszyn HDFS (zwana także klastrem HDFS) opiera się na dwóch typach głównych komponentów:

NameNode Nazwy węzła, ten komponent zarządza namespace , systemu plików drzewo, oraz plików i katalogów metadanych . Centralizuje lokalizację bloków danych rozproszonych w klastrze . Jest unikalna, ale ma drugą instancję, która zarządza historią modyfikacji w systemie plików (rola kopii zapasowej ). Ten pomocniczy NameNode umożliwia ciągłość działania klastra Hadoop w przypadku awarii oryginalnego NameNode . DataNode węzeł danych, ten komponent przechowuje i przywraca bloki danych. Podczas procesu odczytywania pliku, NameNode jest pytany o zlokalizowanie wszystkich bloków danych. Dla każdego z nich NameNode zwraca adres najbardziej dostępnego DataNode , to znaczy DataNode, który ma największą przepustowość . W DataNodes okresowo przekazują NameNode listę bloków danych oni przyjmującym. Jeśli niektóre z tych bloków nie są wystarczająco replikowane w klastrze , zapisywanie tych bloków odbywa się kaskadowo poprzez kopiowanie do innych.

Każdy węzeł DataNode służy jako blok danych w sieci przy użyciu protokołu właściwego dla HDFS. System plików wykorzystuje do komunikacji warstwę TCP / IP . Klienci używają zdalnego wywołania procedury do komunikowania się ze sobą. HDFS przechowuje duże pliki na wielu komputerach. Osiąga niezawodność poprzez replikację danych na wielu hostach, a zatem nie wymaga pamięci RAID na hostach. W przypadku domyślnej replikacji dane są przechowywane w trzech węzłach: dwóch na tym samym nośniku i jednym na różnych nośnikach. W DataNodes mogą komunikować się w celu zrównoważenia dane i utrzymać wysoki poziom replikacji danych.

HDFS nie jest w pełni zgodny ze specyfikacjami POSIX , ponieważ wymagania dla systemu plików POSIX różnią się od docelowych celów aplikacji Hadoop. Kompromis związany z brakiem systemu plików w pełni zgodnego z POSIX zwiększa przepustowość danych.

HDFS niedawno ulepszył swoje możliwości wysokiej dostępności, które teraz umożliwiają ręczne przełączanie awaryjne głównego serwera metadanych na kopię zapasową w przypadku awarii (automatyczne przełączanie awaryjne jest w fazie rozwoju). Ponieważ NameNodes to pojedynczy punkt do przechowywania i zarządzania metadanymi , mogą być wąskim gardłem w obsłudze dużej liczby plików, zwłaszcza gdy są one małe. Akceptując wiele przestrzeni nazw obsługiwanych przez oddzielne NameNodes , HDFS łagodzi ten problem.

MapReduce

Hadoop ma pełną implementację koncepcji MapReduce.

HBase

HBase to rozproszona baza danych ze strukturalnym magazynem dla dużych tabel.

Podobnie jak BigTable , HBase jest bazą danych zorientowaną na kolumny .

ZooKeeper

ZooKeeper to oprogramowanie do zarządzania konfiguracją systemów rozproszonych, oparte na oprogramowaniu Chubby opracowanym przez Google. ZooKeeper służy między innymi do implementacji HBase.

Ul

Hive to oprogramowanie do analizy danych umożliwiające korzystanie z Hadoop o składni podobnej do SQL . Hive został pierwotnie opracowany przez Facebooka .

Świnia

Pig to oprogramowanie do analizy danych porównywalne z Hive, ale używające języka Pig Latin . Pig został pierwotnie opracowany przez Yahoo! .

Używa

Kilka znanych firm IT zadeklarowało używanie Hadoop, takich jak Facebook , Yahoo , Microsoft . Yahoo obsługuje największy na świecie klaster Hadoop z ponad 100 000 procesorów i 40 000 maszyn przeznaczonych do tej technologii.

WikiTrends to bezpłatna usługa analizy odbiorców z encyklopedii Wikipedii uruchomionej wkwiecień 2014. Aplikacja, w szczególności wykorzystująca Hadoop, umożliwia kwantyfikację tematów najczęściej wyszukiwanych przez użytkowników w encyklopedii Wikipedii, poprzez graficzny interfejs wizualizacji.

Hadoop i chmura

Hadoop można wdrożyć w tradycyjnym centrum danych, ale także w chmurze . Chmura umożliwia organizacjom wdrażanie Hadoop bez nabywania określonego sprzętu lub wiedzy.

Microsoft Azure

Azure HDInsight to usługa, która wdraża Hadoop na Microsoft Azure. Usługa HDInsight korzysta z platformy danych Hortonworks (HDP). HDInsight umożliwia programowanie rozszerzeń w .NET (oprócz języka Java). HDInsight obsługuje również tworzenie klastrów Hadoop przy użyciu Ubuntu.

Korzystając z usługi HDInsight w chmurze, firmy mogą uruchamiać dowolną liczbę węzłów; będą rozliczane zgodnie z obliczeniami i wykorzystaną pamięcią masową. Implementacje HDP mogą również przenosić dane z lokalnego centrum danych do chmury w celu tworzenia kopii zapasowych, programowania, testowania i scenariuszy przełomowych. Istnieje również możliwość uruchamiania klastrów HDP na maszynach wirtualnych platformy Azure.

Usługi Amazon EC2 / S3

Możliwe jest uruchomienie Hadoop na Amazon Elastic Compute Cloud (EC2) i Amazon Simple Storage Service (S3). Na przykład New York Times wykorzystał 100 instancji Amazon EC2 i jedną aplikację Hadoop do przetworzenia 4 TB nieprzetworzonych obrazów TIFF (przechowywanych w Amazon S3) w 11 milionach plików PDF.

Dystrybucje

Hadoop jest w szczególności dystrybuowany przez czterech graczy, którzy oferują usługi szkoleniowe i wsparcie komercyjne, a także dodatkowe funkcje:

Uwagi i odniesienia

  1. „  https://archive.apache.org/dist/hadoop/common/  ”
  2. „  https://hadoop.apache.org/release/3.3.0.html  ”
  3. „  Google Research Publication: MapReduce  ” , on research.google.com (dostęp 12 września 2016 r. )
  4. (w) „  Hadoop Doug Cutting Daddy mówi, że w pokoju jest słoń  ” , The Register ,8 maja 2014( czytaj online )
  5. „  Cloudera: Krótka historia Hadoopa, jego twórcy i rewolucji | Krzem  ”, Krzem ,29 marca 2012 r( czytaj online , sprawdzono 17 lipca 2018 r. )
  6. „  Hadoop - Everything you need to know about the main Big Data platform  ” , na www.lebigdata.fr (dostęp: 17 lipca 2018 )
  7. „  Apache Hadoop Releases  ” , na hadoop.apache.org (dostęp 17 lipca 2018 r. )
  8. Lista firm twierdzących, że używają Hadoop
  9. Apache.org, Korzystanie z Hadoop na całym świecie .
  10. „  WikiTrends, pierwsza aplikacja Big Data, która dostarcza ponad 21  TB statystyk w czasie rzeczywistym  ” [PDF] , na www.itrpress.com ,3 marca 2014 r(dostęp 10 listopada 2014 )
  11. Marlène Duretz , „  Nawet nieźle  ”, Le Monde ,3 czerwca 2014( czytaj online )
  12. https://azure.microsoft.com/en-us/solutions/hadoop/
  13. https://azure.microsoft.com/en-us/services/hdinsight/
  14. S i Official Cloudera you, przedstawiając swoje usługi szkoleniowe i wsparcie
  15. „  Big Data: Cloudera osiedla się we Francji  ”, Silicon ,7 października 2014 r( czytaj online , sprawdzono 22 czerwca 2017 r. )

Zobacz też

Powiązane artykuły

Linki zewnętrzne