Hadoop

Hadoop

Informasjon
Skaper Doug Cutting og Mike Cafarella ( i )
Utviklet av Apache Software Foundation
Første versjon 1 st april 2006
Siste versjon 3.3.0 (14. juli 2020)
Innskudd git-wip-us.apache.org/repos/asf/hadoop.git , gitbox.apache.org/repos/asf?p=hadoop.git og github.com/apache/hadoop
Skrevet i Java
Operativsystem Tverrplattform og POSIX
Miljø Java virtuell maskin
Type Rammeverk
Tillatelse Apache License versjon 2.0 og GNU General Public License
Dokumentasjon wiki.apache.org/hadoop/HowToContribute
Nettsted hadoop.apache.org

Hadoop er et gratis og åpen kildekode- rammeverk skrevet i Java, beregnet på å lage distribusjon (datalagring og prosessering) og skalerbare (skalerbare) applikasjoner, slik at applikasjoner kan jobbe med tusenvis av noder og petabyte med data. Hver node består derfor av standardmaskiner gruppert i en klynge. Alle Hadoop-moduler er designet med den ideen at maskinvarefeil ofte er og derfor bør håndteres automatisk av rammeverket.

Hadoop ble inspirert av publiseringen av MapReduce , GoogleFS og BigTable of Google . Hadoop ble opprettet av Doug Cutting og har vært en del av Apache Software Foundation- prosjektene siden 2009.

Kjernen i Hadoop består av en lagringsdel: HDFS ( Hadoop Distributed File System ), og en behandlingsdel kalt MapReduce. Hadoop deler filene i store blokker og fordeler dem over nodene i klyngen. For å behandle dataene overfører den koden til hver node, og hver node behandler dataene den har. Dette gjør det mulig å behandle alle data raskere og mer effektivt enn i en mer tradisjonell superdataarkitektur som er avhengig av et parallelt filsystem der beregninger og data distribueres over høyhastighetsnett.

Det grunnleggende Hadoop-rammeverket består av følgende moduler:

Begrepet Hadoop refererer ikke bare til de grunnleggende modulene ovenfor, men også til dets økosystem og til all programvaren som kommer til å koble seg til den, slik som Apache Pig , Apache Hive , Apache HBase , Apache Phoenix , Apache Spark , Apache ZooKeeper , Apache Impala , Apache Flume , Apache Sqoop , Apache Oozie , Apache Storm .

Historisk

I 2004 Google publiserte en artikkel som presenterer sin algoritme basert på store analytiske operasjoner på en stor server cluster , det MapReduce , samt sin klynge filsystemet, de GoogleFS . Doug Cutting , som jobbet med utviklingen av Apache Lucene på den tiden og møtte problemer som ligner på Mountain View-firmaet, bestemte seg da for å bruke konseptene som er beskrevet i artikkelen til å utvikle sin egen versjon av verktøyene i en åpen kildekodeversjon. . , som blir Hadoop-prosjektet.

Han ble inspirert av sønnens teppe på fem år, en gul elefant, for logoen og navnet på dette nye Java- rammeverket .

I 2006 bestemte Doug Cutting seg for å bli med Yahoo med Nutch- prosjektet og ideer basert på Googles tidlige arbeid når det gjelder distribuert databehandling og lagring.

I 2008 tilbød Yahoo Hadoop som et open source-prosjekt.

I 2011 ble Hadoop i versjon 1.0.0 født; datert27. desember 2011.

De 23. mai 2012, lanserer open source- fellesskapet Hadoop 2.0, som ble tilbudt publikum fra november 2012 som en del av Apache-prosjektet, sponset av Apache Software Foundation . Den største revolusjonen var tillegget av GARN- laget i strukturen til Hadoop.

Fra september 2016, versjon 3.0.0-alpha1 er utgitt.

Arkitektur

Hadoop distribuert filsystem

HDFS er et distribuert , utvidbart og bærbart filsystem utviklet av Hadoop fra GoogleFS . Skrevet i Java , ble det designet for å lagre svært store datamengder på et stort antall maskiner utstyrt med standard harddisker. Det tillater abstraksjon av den fysiske lagringsarkitekturen, for å manipulere et distribuert filsystem som om det var en enkelt harddisk.

En arkitektur av HDFS-maskiner (også kalt en HDFS- klynge ) er basert på to typer hovedkomponenter:

NameNode navnerom, klarer denne komponenten i navnerommet , filsystemet treet, og fil og katalog metadata . Den sentraliserer plasseringen av datablokkene distribuert i klyngen . Det er unikt, men har en sekundær forekomst som styrer historikken til endringer i filsystemet ( sikkerhetskopierolle ). Denne sekundære NameNode tillater kontinuitet i driften av Hadoop- klyngen i tilfelle feil på den opprinnelige NameNode . DataNode datanode, lagrer og henter denne komponenten datablokker. Under prosessen med å lese en fil blir NameNode spurt for å finne alle datablokkene. For hver av dem returnerer NameNode adressen til den mest tilgjengelige DataNode , det vil si DataNode som har størst båndbredde . De DataNodes jevne mellomrom kommunisere til NameNode listen over datablokker de vert. Hvis noen av disse blokkene ikke er tilstrekkelig replikert i klyngen , blir skrivingen av disse blokkene utført i kaskade ved å kopiere til andre.

Hver DataNode fungerer som en blokk med data i nettverket ved hjelp av en protokoll som er spesifikk for HDFS. Den filsystemet benytter TCP / IP- lag for kommunikasjon. Klienter bruker Remote Procedure Call for å kommunisere med hverandre. HDFS lagrer store filer på flere maskiner. Det oppnår pålitelighet ved å replikere data på tvers av flere verter og krever ikke RAID- lagring på vertene. Med replikeringsstandard lagres data på tre noder: to på samme medium og en på forskjellige medier. De DataNodes kan kommunisere, for å balansere dataene og holde et høyt nivå av replikasjon av data.

HDFS overholder ikke fullt ut POSIX- spesifikasjonene , ettersom kravene til et POSIX- filsystem avviker fra målene for et Hadoop-program. Avveiningen med å ikke ha et helt POSIX-kompatibelt filsystem øker ytelsen til datakapasiteten.

HDFS har nylig forbedret mulighetene for høy tilgjengelighet, som nå lar den primære metadatatjeneren mislykkes manuelt til en sikkerhetskopi i tilfelle en feil (automatisk failover er under utvikling). Siden NameNodes er det eneste punktet for lagring og administrering av metadata , kan de være en flaskehals for å støtte et stort antall filer, spesielt når filene er små. Ved å godta flere navneområder som serveres av separate NameNodes , reduserer HDFS dette problemet.

Kart reduksjon

Hadoop har full implementering av MapReduce-konseptet.

HBase

HBase er en distribuert database med strukturert lagring for store tabeller.

I likhet med BigTable er HBase en kolonneorientert database .

Dyrepasser

ZooKeeper er konfigurasjonsadministrasjonsprogramvare for distribuerte systemer, basert på Chubby-programvare utviklet av Google. ZooKeeper brukes blant annet til implementering av HBase.

Hive

Hive er en dataanalyseprogramvare som tillater bruk av Hadoop med en syntaks som ligner på SQL . Hive ble opprinnelig utviklet av Facebook .

Gris

Pig er en dataanalyseprogramvare som kan sammenlignes med Hive, men som bruker Pig Latin- språket . Gris ble opprinnelig utviklet av Yahoo! .

Bruker

Flere store navn innen IT har erklært å bruke Hadoop, som Facebook , Yahoo , Microsoft . Yahoo driver den største Hadoop-klyngen i verden, med mer enn 100.000 CPUer og 40.000 maskiner dedikert til denne teknologien.

WikiTrends er en gratis publikumsanalysetjeneste fra Wikipedia- leksikonet som ble lansert iapril 2014. Applikasjonen, spesielt ved bruk av Hadoop, gjør det mulig å kvantifisere temaene som er mest søkt av brukere på Wikipedia-leksikonet, gjennom et grafisk visualiseringsgrensesnitt.

Hadoop og skyen

Hadoop kan distribueres i et tradisjonelt datasenter, men også gjennom skyen . Skyen tillater organisasjoner å distribuere Hadoop uten å skaffe seg spesifikk maskinvare eller ekspertise.

Microsoft Azure

Azure HDInsight er en tjeneste som distribuerer Hadoop på Microsoft Azure. HDInsight bruker Hortonworks Data Platform (HDP). HDInsight tillater programmering av utvidelser i .NET (i tillegg til Java). HDInsight støtter også opprettelsen av Hadoop-klynger ved hjelp av Ubuntu.

Ved å bruke HDInsight i skyen kan bedrifter kjøre så mange noder de vil; de faktureres i henhold til beregningen og lagringen som brukes. HDP-implementeringer kan også flytte data fra et lokalt datasenter til skyen for sikkerhetskopiering, utvikling, testing og gjennombruddsscenarier. Det er også mulig å kjøre HDP-klynger på virtuelle Azure-maskiner.

Amazon EC2 / S3-tjenester

Det er mulig å kjøre Hadoop på Amazon Elastic Compute Cloud (EC2) og på Amazon Simple Storage Service (S3). Som et eksempel brukte The New York Times 100 Amazon EC2-forekomster og en Hadoop-applikasjon til å behandle 4 TB rå TIFF-bilder (lagret i Amazon S3) i 11 millioner PDF-filer.

Distribusjoner

Hadoop distribueres spesielt av fire spillere som tilbyr treningstjenester og kommersiell støtte, samt tilleggsfunksjoner:

Merknader og referanser

  1. "  https://archive.apache.org/dist/hadoop/common/  "
  2. "  https://hadoop.apache.org/release/3.3.0.html  "
  3. "  Google Research Publication: MapReduce  " , på research.google.com (åpnet 12. september 2016 )
  4. (i) "  Hadoop Doug Cutting Daddy sier at det er en elefant i rommet  " , The Register ,8. mai 2014( les online )
  5. "  Cloudera: A Brief History of Hadoop, skaperen, og en revolusjon | Silicon  ”, Silicon ,29. mars 2012( les online , konsultert 17. juli 2018 )
  6. “  Hadoop - Alt du trenger å vite om den viktigste Big Data-plattformen  ” , på www.lebigdata.fr (åpnet 17. juli 2018 )
  7. "  Apache Hadoop Releases  " , på hadoop.apache.org (åpnet 17. juli 2018 )
  8. Liste over selskaper som hevder å bruke Hadoop
  9. Apache.org, Bruke Hadoop Across the World .
  10. "  WikiTrends, det første Big Data-programmet som gir mer enn 21  TB statistikk i sanntid  " [PDF] , på www.itrpress.com ,3. mars 2014(åpnet 10. november 2014 )
  11. Marlène Duretz , "  Selv ikke dårlig  ", Le Monde ,3. juni 2014( les online )
  12. https://azure.microsoft.com/en-us/solutions/hadoop/
  13. https://azure.microsoft.com/en-us/services/hdinsight/
  14. S jeg Offisiell Cloudera deg, og presenterer sin opplæring service og support
  15. "  Big Data: Cloudera bosetter seg i Frankrike  ", Silicon ,7. oktober 2014( les online , konsultert 22. juni 2017 )

Se også

Relaterte artikler

Eksterne linker