Ugrás a főmenüre.
Web 2008.05.29.

Hadoop, HDFS, HBase kicsit részletesebben

Már volt szó arról, hogy mik is ezek és hol van a helyük a Google/Yahoo/Microsoft versengésben. A Hadoop az egyetlen, amivel te is játszhatsz, a többiek még nem adtak ki semmit, bár a Google AppEngine-ben lévő DataStore a BigTable-re épül. A Yahoo keresője már ezzel működik, izgis, nemdeugyebár?

A Hadoop Core maga a Hadoop rendszer és a HDFS fájlrendszer egyben. Fürtözve kezeli a gépeidet, megvalósítja a virtuális HDFS fájlrendszert: azaz kapsz egy nagy felhőt, ami képes a MapReduce programocskák végrehajtására és mág tárolni is tudja az adatokat.

hadoop-logo.jpg

2007 szeptemberében jött az első release és átlag havonta jön ki egy új: nagyon az elején vagyunk még, 0.17-es a verziószám... A Hadoop elsősorban Linuxon (bármelyiken!) fut, de van Windows-os változat is. A Windowst őt sem tartják éles bevetésre alkalmasnak és senki sem olyan hülye, hogy arra alkalmazza (stabilitás [hiánya], licencdíjak). Viszont nagyon baráti, hogy Win-en is fejleszthetsz, elsősorban fejlesztésre javasolják a Win változatot.

A Hadoop Java-s alkalmazás, de nem kell megijedni a teljesítmény miatt, nem egy gagyi kis programocska ami kismillió osztályon alapul. Futtathatod egyetlen gépen is, nem kell fürtözve, szép is lenne, különben hogyan fejlesztenél.

Fürtözés

Az úgy van, hogy kétféle master és kétféle slave Hadoop programocska (node) létezik. A NameNode nevű master menedzseli a HDFS fájlrendszert, ő osztja szét a fájlokat a DataNode nevű slave-eknek. A NameNode kezel mindent, ő a fájlrendszer, a DataNode-okból nem látsz semmit.

A JobTracker vezérli a MapReduce programodat, osztja szét a feladatokat a TaskTracker slave-eknek és gyűjti be az eredményeket. A TaskTracker-ek szintén láthatatlanok, olyan, mintha mindent a JobTracker csinálna.

Ezek virtuális dolgok voltak, általában minden slave vason fut egy DataNode és egy TaskTracker, a két master pedig külön-külön gép, mert erőforrásra van igény.

A node-ok kutyaközönséges TCP/IP-n kommunikálnak. A rendszer hibatűrő, kezeli a faliórákat (failures), azaz egy-egy gép kiesése nem probléma, adat nem vész el, automatikusan lerendez mindent. A hibák nemcsak olvasáskor derülhetnek ki, mert rendszeresen lekérdezi az összes node-ot, hogy él-e még (ez a heartbeat).

HDFS

Már említettem, hogy a HDFS nem közönséges fájlrendszer, olvasd el az előző bejegyzést. Legyen most annyi elég, hogy a Google File System mása. Extra kényelem, hogy a Hadoop-nak van virtuális webszervere és így egy böngészővel is megnézheted a HDFS tartalmát.

HBase

A Hadoop "tetejére" feltehetsz egy ilyen adatbázis-kezelő rendszert, ami a (Google) BigTable alapján működik. Ugyan van egy HQL-nek nevezett lekérdező nyelve, de ez nem SQL, a HBase sem egy relációs adatbázis-kezelő, mert azok ezekben a méretekben nem képesek már hatékonyan működni.

Alapvetően eltérő koncepcióról van szó, amiről itt találtok egy hipi-szupi cikket. Ennél gyorsabban, tömörebben és egyszerűbben nem lehet ismertetni a dolgot, nagyon ajánlom az elolvasását, sőt, a HBase dokumentációjából az életben nem hámozod ki ezeket.

Talán egyszer nekiugrok és kvázi lefordítom, ahogy a többi lusta magyar blogger szokta. Nem szeretem, ha valaki (bélogger) különösebb saját gondolat és hozzáadott érték nélkül az RSS olvasója tartalmát lefordítva és zanzásítva adja vissza a blogján, de ebben az esetben lehet, hogy ilyen leszek.

Hadoop élesben

Bár 2006 márciusa óta tolja a Yahoo csapata a Hadoop szekerét, idén (2008) február 19-én jelentették meg az első igazi sajtóközleményt az első igazi, nagy Hadoop alkalmazásról, ami maga a Yahoo search.

A Yahoo keresőrobotja, ugyanúgy mint a Google-é bejárja a weboldalakat és visszaküldi azok kódját, ami bekerül egy nagy Hadoop rendszerbe. Utána ügyes MapReduce programok ("Webmap" rendszer) feldolgozzák ezt és ebben a feldolgozott adathalmazban keres a Yahoo keresője. Ez tökugyanaz a módszer, mint a Google-é. A különbség a számokban van:

A Yahoo féle Hadoop rendszer 10e géppel működik és 5 petabyte adatot dolgoz fel, miközben a Google-nak több, mint 1 millió masinája van (nem tudni, hogy ebből mennyi a keresőnek fenntartott) 500 petabyte feldolgozására.

Ehhez képest a Yahoo keresőjének eredményei nem százszor gyengébbek (ha egyáltalán), a különbség inkább a kismillió extra Google izé integrálásában rejtőzhet (pl. kapcsolódó AdWords).

http://hadoop.apache.org

0 hozzászólás - Te lehetsz az első!

Új hozzászólás
A sortörések automatikusak. Csak az üzenet kitöltése kötelező, a többi mező opcionális. A megadott e-mail címet nem tesszük közzé. Engedélyezett HTML tagek: p, a, strong, em, blockquote, ul, ol, li, dl, dt, dd.

Legutolsó hozzászólások

Veoh.com: szánalmas!: zola2000: Megtaláltam a legegyszerűbb megoldást veohra: használjatok operát, és kapcsoljátok be az opera turbot, ekkor az opera norvégiai jön be a...

Végre IKEA!: Ági: Heló bárkinek, aki idetéved! A weboldalunk domain-je - a kedvenc áruházunk ügyvédjének nyumására :) - megváltozott: Az új cím: is...

DJ PLAYER Blue Edition: Gábor: Ja, és természetesen megy iPad-en is, hiszen _minden_ iOS app megy iPad-en.

DJ PLAYER Blue Edition: Gábor: Bug report-okat itt fogadunk: http://djplayer.net/page/bug_report_fixes

DJ PLAYER Blue Edition: hohand: Hello!A dj player mukodik iPad-on is?Tegnap feltettem, wifi-n athuztam ra zeneket,de amikor ranyomtam egy zeneszamra,error-t dobott es valami is!...

iMect means internet, media and other cool things. We're a small company located in Hungary. There is a big footer on every page where you can discover what we do and what happens with us.

Az iMect jelentése: internet, média és egyéb király dolgok. Egy kis magyar cég vagyunk. Minden oldalon van egy nagy lábléc, ahol felfedezheted, hogy mivel foglalkozunk.