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, 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 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. 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.
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 a big data kötegelt feldolgozásának alapvető modelljét valósítja meg, amely két fő fázisból áll:
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 Bemeneti adatok felosztása (input splits): a HDFS-ből beolvasott adatok logikai blokkokra bontása. Map fázis: Párhuzamos feldolgozás több csomóponton, kulcs-érték párok generálása (⟨k₁,v₁⟩ → ⟨k₂,v₂⟩). Shuffle és Sort: Azonos kulcsú értékek csoportosítása, rendezés kulcs szerint. Reduce fázis: Összesítés és végeredmény generálás (⟨k₂,{v₂}⟩ → ⟨k₃,v₃⟩). 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 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. 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
Jegyzetek
Kategória:Apache Software Foundation Kategória:Elosztott számítás Kategória:Hadoop