Share to: share facebook share twitter share wa share telegram print page

Apache Hadoop

Apache Hadoop

FejlesztőApache Software Foundation
Első kiadás2006. április 1.; 19 évvel ezelőtt (2006-04-01)[1]
Legfrissebb stabil kiadás3.4.1 (stabil verzió, 2024. október 18.)[2]
Programozási nyelvJava
Operációs rendszer
PlatformJava virtuális gép
Kategóriaszoftverkörnyezet
Licenc
Az Apache Hadoop weboldala

Az Apache Hadoop egy nyílt forráskódú keretrendszer, amely adat-intenzív elosztott alkalmazásokat támogat. Lehetővé teszi több száz vagy ezer alacsony költségű szerver fürtbe kapcsolását, hibatűréssel és lineáris skálázhatósággal. A platform a Google 2004-es MapReduce és Google File System cikkein alapul[3], de később önálló fejlődésnek indult az Apache Software Foundation gondozásában.

Történet

A Hadoop projektet Doug Cutting és Mike Cafarella[4] hozta létre 2005-ben, mint nyílt forráskódú keretrendszert nagy adatmennyiségek elosztott feldolgozására. Cutting, aki akkor a Yahoo!-nál dolgozott, fiának játék elefántjáról nevezte el a projektet.[5] Eredeti céljuk a Nutch keresőmotor elosztott működésének támogatása volt, amihez a Google 2004-ben publikált MapReduce cikkéből merítettek ötleteket.[6]

Architektúra

A Hadoop fő részei:

  • Hadoop Common, amely a fájlrendszerrel és a operációs rendszerrel kapcsolatos absztrakciókat tartalmazza, valamint azokat a szkripteket és programokat, amelyek a Hadoop rendszer indításához szükségesek
  • MapReduce rendszer
  • Hadoop Distributed File System (Hadoop elosztott fájlrendszer)

Fájlrendszerek

HDFS

A HDFS (Hadoop Distributed File System - Hadoop Elosztott Fájlrendszer) egy elosztott, skálázható és hordozható fájlrendszer, amelyet a Hadoop rendszerhez írtak Java nyelven.

Más fájlrendszerek

A Hadoop bármilyen elosztott fájlrendszerrel együtt tud működni, amely az adott operációs rendszeren csatlakoztatható. Ennek ugyanakkor megvan az ára: a hely információk elvesztése. A hálózati forgalom csökkentéséhez a Hadoopnak tudnia kell, melyik szerverek vannak az adathoz közel, ezt az információt a Hadoop-specifikus adapterek tudják megadni.

A támogatott fájlrendszerek:

  • Amazon S3 fájlrendszer. Ez azoknak a fürtöknek lehet hasznos, amelyek az Amazon EC2 szolgáltatásán futnak. Ez a fájlrendszer nem veszi figyelembe a rack elhelyezést, mivel távoli eléréssel működik.
  • maprfs
  • CloudStore, amely figyelembe veszi a rack elhelyezést
  • FTP: minden adatot távolról hozzáférhető FTP szervereken tárol
  • HTTP/HTTPS: egy csak olvasható filerendszer, amely http szerverekről olvas

MapReduce implementáció

A Hadoop MapReduce implementációja[7] a big data kötegelt feldolgozásának alapvető modelljét valósítja meg, amely két fő fázisból áll[8]:

Főbb komponensek

  • JobTracker (feladatütemező):
    • Kezeli a fürt erőforrásait
    • Ütemezi és monitorozza a MapReduce feladatokat
    • Hibakezelést végez
  • TaskTracker (feladat-végrehajtó):
    • A csomópontokon fut
    • Végrehajtja a Map és Reduce feladatokat
    • Jelentést küld a JobTrackernek

Működési folyamat

  1. Bemeneti adatok felosztása (input splits): a HDFS-ből beolvasott adatok logikai blokkokra bontása.
  2. Map fázis: Párhuzamos feldolgozás több csomóponton, kulcs-érték párok generálása (⟨k₁,v₁⟩ → ⟨k₂,v₂⟩).
  3. Shuffle és Sort: Azonos kulcsú értékek csoportosítása, rendezés kulcs szerint.
  4. Reduce fázis: Összesítés és végeredmény generálás (⟨k₂,{v₂}⟩ → ⟨k₃,v₃⟩).
  5. Kimeneti adatok írása: Eredmények tárolása HDFS-be.

Optimalizációs technikák

  • Combiner: Lokális összesítés a Map fázis után (mini-reduce).
  • Particionáló: A Reduce feladatok egyenletes elosztása.
  • Spekulatív végrehajtás: Lassú csomópontok párhuzamos feldolgozása.

Közismert felhasználók

Yahoo!

A Yahoo! 2008 február 19-én indította el a Yahoo! Search Webmap szolgáltatását, amely állításaik szerint 10 000 CPU-maggal a legnagyobb Hadoop-ot futtató linux klaszter a világon. A rendszer által generált adatokat minden Yahoo! keresési eredmény felhasználja.

A Yahoo! több Hadoop fürtöt működtet és a HDFS fájlrendszereit valamint a MapReduce feladatait nem osztja el több adatközponton.

Facebook

2010-ben a Facebook állítása szerint övék volt a legnagyobb Hadoop fürt összesen 21 PB adatkapacitással.[9] 2011 július 7-én bejelentették, hogy az adatmennyiség 30 PB-ra nőtt, majd 2012 június 13-án 100 PB-ra. A cég 2012 november 8-i bejelentése szerint a Hadoop fürt tárolókapacitása naponta nagyjából fél petabyte-tal nő.

Más felhasználók

Fordítás

  • Ez a szócikk részben vagy egészben az Apache Hadoop című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Jegyzetek

  1. Hadoop Releases. apache.org. Apache Software Foundation. [2019. április 28-i dátummal az eredetiből archiválva]. (Hozzáférés: 2019. április 28.)
  2. Release 3.4.1 available, 2024. október 18. (Hozzáférés: 2025. február 10.)
  3. Google's MapReduce (angol nyelven). Google Research
  4. Mike Cafarella szakmai életrajza. University of Michigan. (Hozzáférés: 2024. július 15.)
  5. Hadoop, a Free Software Program, Finds Uses Beyond Search”, The New York Times , 2009. március 17. (Hozzáférés: 2024. július 15.) 
  6. MapReduce: Simplified Data Processing on Large Clusters. Google Research, 2004 (Hozzáférés: 2024. július 15.)
  7. Tom White. Hadoop: The Definitive Guide. O'Reilly (2015). ISBN 978-1491901632 
  8. Apache MapReduce Tutorial (angol nyelven). Apache Software Foundation
  9. hadoopblog: Facebook has the world's largest Hadoop cluster!, 2010. május 9. (Hozzáférés: 2015. április 9.)
  10. SAP unveils unified strategz for real-time data management to grow database market leadership Archiválva 2013. szeptember 25-i dátummal a Wayback Machine-ben - sap.com
  11. Building a terabyte-scale data cycle at LinkedIn with Hadoop and Project Voldemort - LinkedIn
  12. Steve Jobs embraces Google's bastard grid child - The Register
Kembali kehalaman sebelumnya