1 / 53

BIG DATA

BIG DATA. Kazi Sándor. Bevezetés, HDFS. 2014. Big Data „definíció” – szótári. Definíció „ Nincs” Több is van Oxford dictionary : „ data sets that are too large and complex to manipulate or interrogate with standard methods or tools ” O’Reilly definíció (M. Loukides ):

Download Presentation

BIG DATA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BIG DATA Kazi Sándor Bevezetés, HDFS 2014.

  2. Big Data „definíció” – szótári Definíció „Nincs” Több is van Oxford dictionary: „data sets that are too large and complex to manipulate or interrogate with standard methods or tools” O’Reilly definíció (M. Loukides): „As storage capacity continues to expand, today’s “big” is certainly tomorrow’s “medium” and next week’s “small.” The most meaningful definition I’ve heard: “big data” is when the size of the data itself becomes part of the problem.”

  3. Big Data „definíció” – 3V Gartner definíció (D. Laney): „Big data are high volume, high velocity, and/orhigh variety information assets that require new forms of processing to enable enhanced decision making, insight discovery and process optimization.” A fenti definíciót szokás 3V-nek is nevezni: Volume – méret Velocity – adatsebesség Variety – egyre többféle típusú adat Veracity – igazságtartalom, tisztaság Validity – helyesség Variability – egyre rugalmasabb struktúrák Value – nagy értékű Visualisation – vizualizálhatóság

  4. Big Data – gyakorlatiasabban Méret 50-100 GB alatt nem számít az adat „Big Data”-nak, mert egy nagy memóriával rendelkező felhő szolgáltatással ezek az adatok még nagyon jól kezelhetők 3V A konkrét felhasználásból (lényegében a V-kből) következtetünk, hogy bigdata problémával állunk-e szemben Eszközök A legfontosabb, hogy tudjuk-e az aktuális eszköztárunkkal jól kezelni az adatokat (ha igen, akkor nincs szükség ilyesmire) „data sets that are too large and complex to manipulate or interrogate with standard methods or tools”

  5. CAP-tétel A Elosztott rendszerekben az alábbi tényezőkből maximum kettő garantálható egyszerre: C: Consistency/Konzisztencia Adott időpillanatban minden node ugyanazt „ismeri” A: Availability/Rendelkezésreállás Minden kérdésre érkezik válasz (folyamatos üzemidő) P: Partition-tolerance/Partícionálás-tűrés A rendszer képes kezelni a hibákat (…) CA: relációs adatbázisok (Oracle, MySQL, …) CP: HBase, BigTable, MongoDB, Redis AP: Cassandra, Amazon DynamoDB, Voldemort C P Eventually consistent SPOF-land Sorry, we’re closed

  6. „We believe that more than half of the world’s datawill be stored in Apache Hadoop by 2016”/Hortonworks, 2012./

  7. Hadoop– alaptételek Adatközpontú „A feladatot/számítást könnyebb szállítani, mint az adatot!” Hibatűrő Lesznekhardverhibák, kezelnikell Magasszintű A usernek ne kelljen a végrehajtásrészleteivelfoglalkozni Streaming Kell legyen streaming adathozzáférés Egyszerűkoherencia-modell WORM: Write-Once-Read-Many

  8. Hadoop– mi nem és mi igen? NEM Nem egy szoftver Nem egy adatbázis Nem SQL for Big Data Eszközök, könyvtárak és módszerek egy keretrendszere (framework): Open Source (ASL) Jól skálázódó Automatikus replikáció Alkalmazás szintű hibatűrés Hétköznapi hardveren (commodity hardware) vagy felhőben

  9. FelhasználókésFejlesztők

  10. Hadoop– Motiváció Emlékezzünk vissza a Big Data „definíciókra” Lényegében a motivációt fogalmazták meg Elosztott rendszerekre tervezünk Meghibásodások kezelése • Akár hálózati hibák, vagy teljes gépek kiesése is SPOF (el)kerülésére • Már amennyire ez lehetséges Adatsebesség növelésére 1TB felolvasása HDD-ről 60-120MB/s sebességgel 2,5-5 óra 1TB felolvasása SSD-ről 300-600MB/s sebességgel 0,5-1 óra Skálázhatóság biztosítása Nem csak CPU alapon

  11. Hadoop– Csomagok (stack) Menedzsment Eszközök Adattárolás, erőforrások, biztonság Import/Export interfészek

  12. Adattárolás, erőforrások, biztonság Adattárolás, erőforrások, biztonság

  13. HadoopDistributedFileSystem Elosztott fájlrendszer Adattárolás, erőforrások, biztonság HDFS

  14. MRv2 • MapReduceinterfész • A továbbiakban ismertetett eszközök egy része épít rá, egy része nem YetAnotherResourceNegotiator • YARN = fonálgombolyag • „a MapReduce 2.0 elosztott operációs rendszere” • Erőforráskezelő Adattárolás, erőforrások, biztonság MRv2 YARN HDFS

  15. Mahout: ejtsd: „máháut” • Skálázható gépi tanulási programkönyvtár biztosítását célozza meg • Több implementált algoritmus • Nem mindent triviális, és nem mindent lehet egyáltalán implementálni Adattárolás, erőforrások, biztonság MRv2 YARN HDFS

  16. Knox • REST API gateway • Authentikáció, authorizáció, audit, SSO (Single-Sign-On) Sentry • Jogosultságkezelés • Szerep-alapú (rolebased) Adattárolás, erőforrások, biztonság MRv2 YARN HDFS

  17. Hadoop adat interfészek Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  18. Sqoop • SQL adatbázisok interfésze Avro • Szerializáció (objektum import/export) Falcon • Folyamat-életciklus menedzsment, adatáramlás-vezérlés, adatfeldolgozás Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  19. Flume, Chukwa, Scribe • Loggyűjtés és aggregálás • Adatgyűjtő és monitorozó rendszer elosztott rendszerekhez (Chukwa) • Streaminglogfeldolgozás • A Scribe inkább push jellegű, a többi inkább pull Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  20. Elemzés és adathozzáférés Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  21. Cascading • Alkalmazás platform (JAVA réteg a MapReduce fölött) Scalding • Scala API a Cascadinghez Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  22. HBase: Ejtsd: „édzsbéz” • Elosztott oszlopstrukturált és tömörített adatbázis (noSQL) • Gyors aggregálhatóság, real-time írás/olvasás nagyméretű adatok felett TEZ • Több Map és Reduce művelet tetszőleges sorrendben • Cascadingsupport Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  23. Hive: • Adattárház Hadoop-kompatibilis fájlrendszerek felett • Adatösszegzés, ad-hoc lekérdezések és nagy adathalmazok analízisének támogatása • Saját SQL-szerű lekérdező nyelv: HiveQL • MapReduce támogatás (ha a HiveQL nem lenne hatékony) Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  24. Pig: • Mert a disznó gyakorlatilag bármit megeszik • Platform nagyméretű adatok analízisére • Saját magasszintű nyelv: Pig Latin • Jól párhuzamosítható („… embarrassingly parallel…”) Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  25. Storm • Streaming feldolgozás Spark • Elosztott adatelemzés a memóriában Shark • „Hivea memóriában” Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  26. Hama • Apache BSP • BulkSynchronous Parallel paradigma • GraphLibrary hálózatelemzéshez Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  27. Drill • SQL alapú elosztott lekérdező interaktív elemzésekhez Accumulo • Key-value adatbázis (noSQL) Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  28. Lucene • Szövegelemzési, természetes nyelv feldolgozási eszközök indexelő és kereső szolgáltatáshoz Solr • Keresőplatform a Lucene fölé Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  29. Menedzsment eszközök Menedzsment Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  30. Oozie • Hadoopworkflow ütemezés • Zookeeper • elosztott rendszer koordináció (Curator: ZooKeeperlibrary-k) • Ambari • Hadoopcluster monitoring és menedzsment Menedzsment Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  31. Apache Software Foundation • Open-source technológiák Sok esetben cégektől kerültek ASL alá • Scribe: Facebook • Scalding, Storm: Twitter • Tez: Hortonworks Menedzsment Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  32. Disztribútoroktól is vásárolható • Kompatibilitás • Garanciák • Support • Oktatás • … Menedzsment Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  33. RapidMiner (Studio/Server) • Elemző szoftver Radoop • integráció Menedzsment Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  34. Menedzsment Eszközök Adattárolás, erőforrások, biztonság MRv2 YARN HDFS Import/Export interfészek

  35. Apache Tajo BigData adattárház támogatás (ETL, stb.) • S3: Simple Storage Service • EC2: ElasticComputeCloud • EMR: ElasticMapReduce • Kinesis: streaming Adatelemző szoftver ClouderaImpala SQL queryengine (Hadoopon) ApacheWhirr Cloud interfész Apache Nutch Elosztott web keresőmotor Monitoring rendszer Apache GoraPerzisztens adattárolás a memóriában Apache CassandraOszlop alapú NoSQL adatbázis

  36. Történetiáttekintés

  37. YARN:YetAnother Res… YARN: Hadoop v0.23 óta („Hadoop 2.0”) „a Hadoop 2.0 operációs rendszere” Elválasztották a feladatkezelést a MapReduceframeworktől Előtte: JobTracker: Master, feladatelosztás és -felügyelet TaskTracker: Feladatkezelő egy node-nál Slot: TaskTracker egy feldolgozó egysége YARN óta: ResourceManager: Globális erőforrásfelügyelet (Sched + AsM) NodeManager: Container kezelő egy node-nál Container ApplicationMaster: Master, feladatelosztás és felügyelet

  38. Végrehajtás – MRv1 A JobTracker kezeli az erő- források elosztását is

  39. Végrehajtás – YARN • Submit • AM Start • Checkin • Res-Req • Start • Heartbeat • State • Finish

  40. Ütemezés és Kvóták Ütemezés • FIFO: ez volt a legelterjedtebb eleinte MR esetében • kis slot igényű feladatnak is sokszor várni kellett • Fair Scheduler • Idővel átlagosan ugyannyi erőforrást kap mindenki • Pool-okra osztja a jobokat és ezeknek oszt erőforrást Kvóták • Ha a HDFS-en „elfogy” a hely • Tipikusan egy-két nagy fájl miatt • Pl.: fájlok join-olásából keletkezve • Két típus, részfára lehet definiálni: • Namequota: metaadat bejegyzések max. száma • Spacequota: nomen est omen

  41. Meghibásodások kezelése Ha egy taszk elhal, újraindítjuk (JT, AM) • Elhal = nem jön HeartBeat, vagy hibát jelez • Nem tudjuk, miért halt el, ezért kell max. restartszám • Lehet, hogy a programkód rossz Spekulatív indítás is lehet: • Több helyen is elindítunk egy taszkot, a leggyorsabb nyer • Egyetlen lassú node kevésbé akasztja meg a dolgokat • Akkor jó, ha van szabad erőforrás Ha elhal a JT/AM: • Amikor újraindul, minden taszk elölről kezdődik • Van HA megoldás: több JT/AM • Probléma: konzisztencia közöttük

  42. HDFS – alapok Célok / Elvárások / Alapelvek: • Hibatűrés (és gyors elhárítás) (automatikus replikáció) • Streamingdata – adatfolyam hozzáférés • Nagy adathalmazok • Egyszerű koherencia – WORM (write-once-read-many) • A számítást olcsóbb szállítani (mint az adatot) • Hordozhatóság (heterogén hardver) Blokkalapú fájlrendszer • Tipikusan 64-256MB egy blokk • Általában jobb a „több átlagos” diszk, mint „pár extrém nagy” Többféle szerver szerep: • Namenode • Datanode • SecondaryNamenode

  43. HDFS – Namenode Metaadat tároló: • Ő felel az fsimage (namespace image) tárolásáért: • A HDFS könyvtárstruktúrautolsócheckpointja • Az fsimage nem közvetlenül íródik • Edit log: logfile írása appendjelleggel Namenode induláskor: • fsimage felolvasása • A logok alapján az fsimage módosítása • Új fsimagecheckpointkiírása SPOF Ha leáll, felhasználói beavatkozás szükséges… Sok kicsi fájl esetén sequence file vagy map file…

  44. HDFS – Datanode és SNN Datanode • Adattároló node (blokkokat kap) • Metadat nélkül a blokkok kvázi „elvesztek” • A replikáció klaszter szintű (default RF: 3) • Nincs szükség lokálisan RAID-re • Időközönként jelentik a NN-nak, mi van náluk • Heartbeat SecondaryNamenode • „félreérthető elnevezés”: nem failover / HA node • Időközönként beszerkeszti az fsimage-be a logfile tartalmát • Gyorsabb Namenodeindulás

  45. HDFS – Namenode++ SPOF elkerülésére megoldás: • Lokálisan RAID • Metaadat (fsimage + edit log) több helyen is tárolva • Egyszerre egy namenode aktív, a többi passzív • Plusz teher: Namenode konzisztencia fenntartása Lassú indulás lehetséges okai: • Nagyranőttlogfile • Secondary Namenode probléma • Lassúdiszk • egylassúdiszk is elég lehet, hogy a teljesfolyamatlassuljon • Redundánstárhely bottleneck • mindenhovákiírjukazfsimage-et, párhuzamosan, egy is lassít

  46. HDFS – Olvasás • A kliensek közvetlenül elérik a Datanode-okat érik el

  47. HDFS – Írás • A replikációt már nem a kliens, hanem a Namenode indukálja

  48. Tervezés Klaszter méretezés, Nodeméretezés, példa

  49. Tervezés – per node Slave node-ok: • DataNode, TaskTracker/NodeManager, HBaseRegionServer, … Master node-ok: • Namenode • JobTracker/ResourceManager • Elég egy slavenode extra RAM-mal • Ha „masternode”-ot kapnak, az segítheti a NN migrációt (hibánál) Általánosságban: • Lehetőleg maradjon üres memória-slot (bővíthetőség) • Érdemes „középkategóriából” választani • Olcsóbb is, mint a top processzorok • Áramfelvétel általában optimálisabb • Master gépeknél érdemes lehet redundáns PSU-t alkalmazni

More Related