Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "BIG DATA Kazi Sándor Bevezetés, HDFS 2014.."— Előadás másolata:

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/or high 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 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 big data 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 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 A P Eventually consistent SPOF-land Sorry, we’re closed

6 „We believe that more than half of the world’s data will 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ő Lesznek hardver hibák, kezelni kell Magasszintű A usernek ne kelljen a végrehajtás részleteivel foglalkozni 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 és Fejlesztő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 MB/s sebességgel 2,5-5 óra 1TB felolvasása SSD-ről MB/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

13 Adattárolás, erőforrások, biztonság
Hadoop Distributed FileSystem Elosztott fájlrendszer Adattárolás, erőforrások, biztonság HDFS

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

15 Adattárolás, erőforrások, biztonság
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 YARN MRv2 HDFS

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

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

18 Adattárolás, erőforrások, biztonság Import/Export interfészek
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 YARN MRv2 HDFS Import/Export interfészek

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

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

21 Adattárolás, erőforrások, biztonság Import/Export interfészek
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 YARN MRv2 HDFS Import/Export interfészek

22 Adattárolás, erőforrások, biztonság Import/Export interfészek
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 Cascading support Eszközök Adattárolás, erőforrások, biztonság YARN MRv2 HDFS Import/Export interfészek

23 Adattárolás, erőforrások, biztonság Import/Export interfészek
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 YARN MRv2 HDFS Import/Export interfészek

24 Adattárolás, erőforrások, biztonság Import/Export interfészek
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 YARN MRv2 HDFS Import/Export interfészek

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

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

27 Adattárolás, erőforrások, biztonság Import/Export interfészek
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 YARN MRv2 HDFS Import/Export interfészek

28 Adattárolás, erőforrások, biztonság Import/Export interfészek
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 YARN MRv2 HDFS Import/Export interfészek

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

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

31 Adattárolás, erőforrások, biztonság Import/Export interfészek
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 YARN MRv2 HDFS Import/Export interfészek

32 Adattárolás, erőforrások, biztonság Import/Export interfészek
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 YARN MRv2 HDFS Import/Export interfészek

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

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

35 Apache Tajo BigData adattárház támogatás (ETL, stb.) S3: Simple Storage Service EC2: Elastic Compute Cloud EMR: Elastic MapReduce Kinesis: streaming Adatelemző szoftver Cloudera Impala SQL query engine (Hadoopon) Apache Whirr Cloud interfész Apache Nutch Elosztott web keresőmotor Monitoring rendszer Apache Gora Perzisztens adattárolás a memóriában Apache Cassandra Oszlop alapú NoSQL adatbázis

36 Történeti áttekintés

37 YARN: Yet Another Res… YARN: Hadoop v0.23 óta („Hadoop 2.0”) „a Hadoop 2.0 operációs rendszere” Elválasztották a feladatkezelést a MapReduce frameworktő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: Name quota: metaadat bejegyzések max. száma Space quota: 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. restart szá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

43 HDFS – alapok Célok / Elvárások / Alapelvek:
Hibatűrés (és gyors elhárítás) (automatikus replikáció) Streaming data – 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 MB egy blokk Általában jobb a „több átlagos” diszk, mint „pár extrém nagy” Többféle szerver szerep: Namenode Datanode Secondary Namenode

44 HDFS – Namenode Metaadat tároló:
Ő felel az fsimage (namespace image) tárolásáért: A HDFS könyvtárstruktúra utolsó checkpointja Az fsimage nem közvetlenül íródik Edit log: logfile írása append jelleggel Namenode induláskor: fsimage felolvasása A logok alapján az fsimage módosítása Új fsimage checkpoint kií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…

45 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 Secondary Namenode „félreérthető elnevezés”: nem failover / HA node Időközönként beszerkeszti az fsimage-be a logfile tartalmát Gyorsabb Namenode indulás

46 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: Nagyra nőtt logfile Secondary Namenode probléma Lassú diszk egy lassú diszk is elég lehet, hogy a teljes folyamat lassuljon Redundáns tárhely bottleneck mindenhová kiírjuk az fsimage-et, párhuzamosan, egy is lassít

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

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

49 Tervezés Klaszter méretezés, Node méretezés, példa

50 Tervezés – per node Slave node-ok:
DataNode, TaskTracker/NodeManager, HBase RegionServer, … Master node-ok: Namenode JobTracker/ResourceManager Elég egy slave node extra RAM-mal Ha „master node”-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

51 Tervezés – architektúra
Hortonworks: Cluster Planning Guide link Négyféle workload pattern Balanced: Kiegyenlített CPU és diszk kihasználtság Compute Intensive: Inkább több/erősebb CPU kell I/O intensive: Inkább több diszk kell Unknown or evolving workload patterns Javaslat: balanced, vagy kis pilot után döntés Per node: Slave illetve Master szerep Hálózat: „változó” Szerep CPU Memória Diszk RAID, NAS Slave 4-8 mag 24-48 GB 8-12 x 2-3 TB Nem Master 16-24 mag 48-64 GB 4-8 x 1 TB Igen (+diszk)

52 Tervezés – példa Tegyük fel, hogy egy cég át szeretne térni Hadoop cluster-es szerverparkra, amelyen naponta 90GB új bejövő adatot szeretnének tárolni, mindig az utóbbi egy évre nézve. RF = 3, egy gép: 8-12 x 2-3TB Adatmennyiség tárolása kb. 33TB, replikációval kb. 100TB Egyéb tárolásra és elemzésekre +25% kb. 125TB OS és Hadoop logok +10% kb. 140TB Ezek alapján 4-10 Datanode-ra van szükségünk gépkonfigurációtól függően. Ha ezt sokalljuk, logokról lévén szó, csökkenthetjük…

53 Tömörítés – HDFS Diszk (fájl szintű tömörítés) gzip bzip2 lzo
Az egészet ki kell csomagolni, hogy egy szeletet megkapjunk MR jobnál a Map-hoz minden blokkot el kell juttatni bzip2 Bárhol elkezdve értelmesen kicsomagolható Lassú, és nem annyira hatékonyan tömörít, mint a gzip Nem nagyon használják lzo A gzip-hez hasonlít, de metaadat fájl segítségével elérhető, hogy ne kelljen az összes szelet Adattovábbítás: Tipikusan Snappy tömörítéssel Nagyon kis overhead, stream tömörítés is 20-30% teljesítménynyereség is lehet általa


Letölteni ppt "BIG DATA Kazi Sándor Bevezetés, HDFS 2014.."

Hasonló előadás


Google Hirdetések