mapreduce in der praxis - uni-passau.de€¦ · ddfs disco distributed file system sehr ahnlich zu...

56
Einleitung Googles MapReduce MapReduce–Implementierungen Fazit MapReduce in der Praxis Rolf Daniel Seminar Multicore Programmierung 09.12.2010 1 / 53

Upload: others

Post on 29-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

MapReduce in der Praxis

Rolf Daniel

Seminar Multicore Programmierung

09.12.2010

1 / 53

Page 2: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Agenda

1 Einleitung

2 Googles MapReduceProgrammiermodellImplementierungBeispieleAusfallbehandlung

3 MapReduce–ImplementierungenDiscoHadoopBOOM

4 Fazit

2 / 53

Page 3: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

1 Einleitung

2 Googles MapReduceProgrammiermodellImplementierungBeispieleAusfallbehandlung

3 MapReduce–ImplementierungenDiscoHadoopBOOM

4 Fazit

3 / 53

Page 4: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Motivation

Large Scale Data Processing

Verarbeitung von immer großer werdenden DatenmengenIn moglichst kurzer ZeitUnter Verwenudng zahlreicher CPUsSoll sehr einfach funktionieren⇒ Parallele Verarbeitung der Daten in Rechner–Clustern

4 / 53

Page 5: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Motivation

Abbildung: Google rack mit 40 Servern1

1Quelle: http://news.cnet.com5 / 53

Page 6: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Motivation

Neue Probleme

Verarbeitung der Daten muss parallelisierbar sein

Viele Knoten fuhren zu einer hohen AusfallrateHohe Netzwerklast durch Verteilung der DatenKomplexitat fur Programme steigt

6 / 53

Page 7: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Motivation

Neue Probleme

Verarbeitung der Daten muss parallelisierbar seinViele Knoten fuhren zu einer hohen Ausfallrate

Hohe Netzwerklast durch Verteilung der DatenKomplexitat fur Programme steigt

6 / 53

Page 8: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Motivation

Neue Probleme

Verarbeitung der Daten muss parallelisierbar seinViele Knoten fuhren zu einer hohen AusfallrateHohe Netzwerklast durch Verteilung der Daten

Komplexitat fur Programme steigt

6 / 53

Page 9: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Motivation

Neue Probleme

Verarbeitung der Daten muss parallelisierbar seinViele Knoten fuhren zu einer hohen AusfallrateHohe Netzwerklast durch Verteilung der DatenKomplexitat fur Programme steigt

6 / 53

Page 10: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Motivation

MapReduce–Konzept

MapReduce bietet:Automatische Parallelisierung und VerteilungFehlertoleranzAbstraktion fur ProgrammiererStatusuberwachung

7 / 53

Page 11: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

1 Einleitung

2 Googles MapReduceProgrammiermodellImplementierungBeispieleAusfallbehandlung

3 MapReduce–ImplementierungenDiscoHadoopBOOM

4 Fazit

8 / 53

Page 12: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Programmiermodell

MapReduce–Berechnungen

Die Berechnung wird durch zwei Funktionen beschriebenMap: bildet Eingabedaten auf Schlussel/Wert–Paare abReduce: fugt diese Paare zum Endergebnis zusammen

9 / 53

Page 13: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Programmiermodell

MapReduce Framework

Das Framework ist zustandig fur:automatische Parallelisierung und VerteilungFehlerbehandlungScheduling der Kommunikation zwischen den Rechnern

10 / 53

Page 14: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

GFS

Google File System

Eingabedaten werden in Blocke aufgeteiltBlocke werden kopiert und auf verschiedenen Rechnern gespeichertFur MapReduce–Berechnungen werden die meisten Daten lokalgelesen⇒ Netzwerklast wird reduziert

11 / 53

Page 15: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Implementierung des Frameworks

Aufbau des Clusters (Stand 2004):mehrere hundert/tausend Maschinen2–CPU x86, 2–4 GB Arbeitsspeicher, LinuxStandardnetzwerkhardware100 Mb/s oder 1 Gb/s EthernetSpeicherung von Daten lokal auf IDE FestplattenGFS zur Verwaltung der DatenScheduling–System

12 / 53

Page 16: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Implementierung des Frameworks

Master

Es gibt nur einen pro MapReduce–OperationWeist den Workern Aufgaben zuSpeichert Zustande der Worker (idle, in–progress, completed)Informiert Reduce–Worker uber Zwischenergebnisse

Worker

Anzahl ist beliebigBekommen Aufgaben und Daten zugewiesenFuhren Map– bzw. Reduce–Tasks durch

13 / 53

Page 17: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Ablauf

14 / 53

Page 18: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Ablauf

15 / 53

Page 19: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Ablauf

16 / 53

Page 20: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Ablauf

17 / 53

Page 21: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Ablauf

18 / 53

Page 22: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Ablauf

19 / 53

Page 23: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Worter in einem Dokument zahlen

Eingabedaten: Text

”Here, each document is split in words, and each word is counted.“

20 / 53

Page 24: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Worter in einem Dokument zahlen

Map–Funktion definieren

map(String key, String value):// key: number of the part of a sentence// value: content of the part of a sentencefor each word w in value:EmitIntermediate(w,"1");

21 / 53

Page 25: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Worter in einem Dokument zahlen

Reduce–Funktion definieren

reduce(String key, Iterator values):// key: word// values: an iterator of countsint result = 0;for each v in values:result += ParseInt(v);

Emit(AsString(result));

22 / 53

Page 26: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Worter in einem Dokument zahlen

Schritt 1

Eingabedaten in mehrere Satzteile zerlegenJeder Satzteil erhalt eine Nummer⇒ Liste aus Schlussel/Wert–PaarenVerbindung zum Master herstellen

23 / 53

Page 27: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Worter in einem Dokument zahlen

Schritt 2 und 3

Master weist Workern je einen Task zuJeder Map–Worker erhalt mehrere SatzteileMap–Worker bilden Daten auf Schlussel/Wert–Paare abDiese Zwischenergebnisse werden gepuffert

24 / 53

Page 28: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Worter in einem Dokument zahlen

Schritt 4

Gepufferte Daten werden periodischauf lokale Festplatte geschrieben undfur die Reduce–Worker partitioniert

Speicherort wird Master mitgeteilt

25 / 53

Page 29: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Worter in einem Dokument zahlen

Schritt 5

Master teilt Reduce–Workern Speicherort mitReduce–Worker

lesen partitionierte Zwischenergebnisse per RPC undsortieren diese anhand des Schlussels

26 / 53

Page 30: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Worter in einem Dokument zahlen

Schritt 6

Wird von jedem Reduce–Worker durchgefuhrt:Iteriert uber sortierte DatenFur jeden Schlussel und die zugehorigen Werte wirdReduce–Funktion aufgerufenAusgaben aller Reduce–Funktionen werden zu Endergebniskonkateniert

27 / 53

Page 31: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Weitere Beispiele

Invertierter Index

Map–FunktionEingabedaten: Dokumente, Webseiten,...Ausgabe: Paare aus Schlagwort und Dokument–ID

Reduce–FunktionEingabe: Schlagwort und Iterator uber Dokument–IDsAusgabe: Schlagwort und Liste mit Dokument–IDs

28 / 53

Page 32: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Weitere Beispiele

Verteiltes GrepHaufigkeit von URL–ZugriffenTerm–Vektor pro HostVerteiltes Sortieren. . .

29 / 53

Page 33: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Ausfallbehandlung

Ausfall eines Workers

Master fragt periodisch Zustande abBetroffene Tasks werden zuruckgesetzt und erneut ausgefuhrtMap–Worker:

alle fertiggestellten und in Bearbeitung befindlichen Tasks werdenzuruckgesetzt

Reduce–Worker:nur in Bearbeitung befindliche Tasks werden zuruckgesetzt

30 / 53

Page 34: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

ProgrammiermodellImplementierungBeispieleAusfallbehandlung

Ausfallbehandlung

Ausfall des Masters

Kommt sehr selten vorKeine Recovery⇒ MapReduce–Operation wird wiederholt

31 / 53

Page 35: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

1 Einleitung

2 Googles MapReduceProgrammiermodellImplementierungBeispieleAusfallbehandlung

3 MapReduce–ImplementierungenDiscoHadoopBOOM

4 Fazit

32 / 53

Page 36: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

Disco

Das Disco Projekt

Open–Source Implementierung in ErlangEntwickelt von Nokia Research CenterBasiert auf einer Master–Slave–ArchitekturVerteiltes FilesystemDiscodex (Index)

33 / 53

Page 37: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

Architektur

Abbildung: Disco–Architektur2

2Quelle: http://discoproject.org34 / 53

Page 38: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

Discos MapReduce

Discos MapReduce

Master ist fur Verteilung der Jobs zustandigMaster erstellt auf jedem Knoten einen Worker SupervisorMap– bzw. Reduce–Tasks werden von Python–WorkerndurchgefuhrtBenotigte Daten werden per HTTP ubertragen

35 / 53

Page 39: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

DDFS

Disco Distributed File System

sehr ahnlich zu GFSZustandig fur Verteilung, Persistenz, Adressierung und Zugriff derDatenTag–basiertes FilesystemFehlertoleranz und hohe Verfugbarkeit durch Replikation

36 / 53

Page 40: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

DDFS

Tag–basiertes Filesystem

Blobs: Konnen beliebige Objekte (Files) im Filesystem seinTags: Beinhalten Metadaten uber Blobs

Abbildung: Blob/Tag–Konzept3

3Quelle: http://discoproject.org37 / 53

Page 41: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

Discodex

Discodex

Indexierung der Daten fur eine konstante ZugriffszeitArbeitet ahnlich wie ein normaler IndexIndizes werden durch Schlussel/Werte–Paare reprasentiertIndizes werden in ichunks aufgeteilt und im DDFS gespeichertDiscodb–Objekt: Datenstruktur speichert Referenz auf die ichunks

38 / 53

Page 42: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

Hadoop

Apache Hadoop

Software Framework unterstutzt datenintensive und verteilteApplikationenInspiriert von Googles MapReduce und GFSOpen–Source Java ImplementierungVerteiltes FilesystemWird von Facebook, IBM,Yahoo u.v.m. genutzt

39 / 53

Page 43: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

Master–Slave–Architektur

Abbildung: Aufbau eines Hadoop–Clusters4

4Quelle: http://en.wikipedia.org40 / 53

Page 44: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

Hadoops MapReduce

Hadoops MapReduce

Ein JobTracker steuert mehrere TaskTrackerEin Job wird in eine Menge von Map– und Reduce–TasksaufgeteiltJobTracker weist TaskTrackern die einzelnen Tasks zuTaskTracker hat feste Anzahl an Slots fur die Ausfuhrung vonTasksHeartbeat–Protokoll zwischen JobTracker und TaskTrackern

41 / 53

Page 45: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

Hadoops MapReduce

Hadoops MapReduce

Jeder Map–Task fuhrt Map–Funktion durch, partitioniertZwischenergebnisse (Schlussel/Wert–Paare) und speichert sie lokalabJobTracker bildet Reduce–Tasks und weist sie TaskTrackern zuJeder Reduce–Task

holt sich die entsprechenden Partitionensortiert sie lokal nach ihren Schlusselnfuhrt Reduce–Funktion durchspeichert das Ergebnis im verteilten Filsystem

42 / 53

Page 46: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

HDFS

Hadoop Distributed File System

zentraler NameNode speichert Metadaten des FilesystemsDaten werden in Datenblocke aufgeteilt, repliziert und aufDataNodes im Cluster verteiltDataNodes schicken Heartbeat–Nachrichten zum NameNode

43 / 53

Page 47: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

BOOM–Projekt

Berkeley Orders of Magnitude

”We seek to build OOMa bigger systems with OOM lesseffort“b

aOOM: Orders Of MagnitudebQuelle: http://boom.cs.berkeley.edu/

44 / 53

Page 48: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

DiscoHadoopBOOM

BOOM Analytics

Portierung von Hadoops MapReduce und Neuimplementierungvon HDFSGeschrieben in Overlog und JavaKompaktere und leicht erweiterbare Codebasis

System Lines in LATE–

Patch

Files Modified by

LATE–Patch

LOC

Hadoop 2.102 17 6.573

HDFS – – ≈21.700

BOOM–MR 82 2 396 + 1.269

BOOM–FS – – 469 + 1.431

45 / 53

Page 49: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

1 Einleitung

2 Googles MapReduceProgrammiermodellImplementierungBeispieleAusfallbehandlung

3 MapReduce–ImplementierungenDiscoHadoopBOOM

4 Fazit

46 / 53

Page 50: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Fazit

MapReduce

Einfach zu verwendenOpen–Source–Implementierungen vorhandenGute Abstraktion fur Entwickler

Verteiltes Filesystem wird benotigt!

47 / 53

Page 51: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

EinleitungGoogles MapReduce

MapReduce–ImplementierungenFazit

Noch Fragen?

Vielen Dank fur eure Aufmerksamkeit!Gibt es noch Fragen?

48 / 53

Page 52: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

Zusatzliche Informationen

Overlog

Erweiterung von Datalog durch:Notation zur Spezifizierung des Speicherorts der DatenSQL–basierte Erweiterung: Primarschlussel, AggregationModell zur Verarbeitung und Generierung von Anderungen anTabellen

Ereignisgesteuerte ProgrammierspracheUnterstutzt relationale Tabellen

49 / 53

Page 53: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

Zusatzliche Informationen

Overlog–Zeitschritt

Overlog–Tupel werden in einem Zeitschritt verarbeitetKnoten sieht nur lokal gespeicherte Tupel (Tabelleneintrage)Kommunikation zwischen dem System und dem Knoten uberEventsEvent: entspricht einem Einfugen, Updaten oder Loschen vonEintragen (Tupeln) in Datalog–TabellenAnderungen erfolgen atomar und sind dauerhaft

50 / 53

Page 54: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

Zusatzliche Informationen

Abbildung: Quelle: BOOM: Data-Centric Programming in the Datacenter

51 / 53

Page 55: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

Zusatzliche Informationen

Abbildung: BOOM–MR Relationen definieren Zustand des JobTrackers5

5Quelle: BOOM: Data-Centric Programming in the Datacenter52 / 53

Page 56: MapReduce in der Praxis - uni-passau.de€¦ · DDFS Disco Distributed File System sehr ahnlich zu GFS Zust andig f ur Verteilung, Persistenz, Adressierung und Zugri der Daten Tag{basiertes

Zusatzliche Informationen

Abbildung: BOOM–FS Relationen definieren Metadaten des Dateisystems6

6Quelle: BOOM: Data-Centric Programming in the Datacenter53 / 53