MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling,...

51
Thomas Findling, Thomas König MapReduce - Konzept MapReduce-Konzept 1

Transcript of MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling,...

Page 1: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

MapReduce - Konzept

MapReduce-Konzept 1

Page 2: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Inhalt

MapReduce-Konzept 2

1. Motivation2. Einführung

● MapReduce● Google Rechenzentren● Vergleich MapReduce und Relationale DBS

3. Hadoop● Funktionsweise● Input / Output● Fehlerbehandlung

4. Praxis-Beispiel5. Zusammenfassung

Page 3: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Motivation

MapReduce-Konzept 3

● Das automatische Erfassen von Daten (Log-Dateien, Aktienkurse, Social Networks, ...) erzeugt riesige Datenmengen

● Speicherkapazitäten von Festplatten sind in den letzten Jahrzehnten stark angestiegen

● Mittlere Zugriffszeiten und Transferraten haben sich vergleichsweise wenig verbessert

● Die Zeit zum Auslesen einer kompletten Festplatte wird immer größer● 2000: 40 GB, 32 MB/s, 9,5 ms → 21 Minuten● 2009: 1000 GB, 125 MB/s, 8,5 ms → 136 Minuten

Page 4: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Motivation

MapReduce-Konzept 4

● Mehrere Recheneinheiten mit eigenen Plattenspeichern werden zu Clustern verbunden

● Verteilte Speicherung der Daten● Deutliche Zeitreduzierung bei Zugriffsoperationen● Parallele Verarbeitung von großen Datenmengen

möglich, z.B. 100te TB bis PB

Page 5: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

MapReduce

MapReduce-Konzept 5

Page 6: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

MapReduce

MapReduce-Konzept 6

● Programmiermodell zur Verarbeitung von großen unstrukturierten oder semi-strukturierten Datensätzen

● MapReduce nutzt verteilte Speicherung der Daten in Blöcken (sorgt für Datenqualität bei fehlerhaften Schreib- oder Lesevorgängen)

● MapReduce-Framework sorgt für die Aufteilung der Berechnungen auf mehrere Recheneinheiten

● Dadurch parallele Ausführung auf mehreren Rechnern● Nach Beendigung der Berechnungen aggregiert das

Framework die Ergebnisse

Page 7: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

MapReduce

MapReduce-Konzept 7

● Entwickler von verteilten Anwendungen müssen nur das Framework benutzen, keine Codeänderungen bei der Änderung der Client-Anzahl nötig

● Verwendung von handelsüblichen Computern möglich● Keine Notwendigkeit für spezielle High-End Server

Page 8: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

MapReduce

MapReduce-Konzept 8

Konzept:● 2 separate Abläufe:

● Map● Reduce

● Daten-Input: eine ganze Menge unstrukturierte Daten● Basis von Map und Reduce-Tasks: Schlüssel-/Werte-

Paare● Formel:

● (k1, v

1) → (k

2, v

2)

● [k2, list(v

2)] → (k

2, v

3)

Page 9: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

MapReduce - Beispiel

MapReduce-Konzept 9

Page 10: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

MapReduce - Beispiel

MapReduce-Konzept 10

1. unstrukturierte Wetterdaten einlesen

● 0029029070999991901010106004+64333+023450FM-12+00059 9999V0202701N015919999999N0000001N9-00781+9999910200 1ADDGF108991999999999999999999

● 0029029070999991901010113004+64333+023450FM-12+00059 9999V0202901N008219999999N0000001N9-00721+9999910200 1ADDGF104991999999999999999999

1901-01-0113:00-7,2°C

Page 11: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

2. Zuordnung von Datei-Inhalt zu Positionen● Jede Zeile wird anhand des Byte-Offsets identifiziert● Byte-Offset verweist jeweils auf den Beginn der Zeile● (k

1, v

1) = (long, String)

Thomas Findling, Thomas König

MapReduce - Beispiel

MapReduce-Konzept 11

Page 12: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

3. Map: Transformieren dieser Schlüssel-/Werte-Paare in intermediate Schlüssel-/Werte-Paare

● Benötigte Daten werden aus den Zeilen extrahiert● Es entstehen viele Key/Value-Paare

Thomas Findling, Thomas König

MapReduce - Beispiel

MapReduce-Konzept 12

Jahr Temperatur1950 01950 221949 1111949 78

Page 13: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

4. Map: Erzeugen von gruppierten Schlüssel-/Werte-Paaren● Sortieren der Schlüssel● Zuordnen von Werten zu einem Schlüssel● Jeder Mapper schreibt den sortierten Output ins Filesystem● Pro Jahr wird ein eigener Reducer auf einem Rechner im Cluster

ausgeführt

Thomas Findling, Thomas König

MapReduce - Beispiel

MapReduce-Konzept 13

Jahr Temperatur1949 111

781950 0

22

Page 14: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

5. Reduce: ● Zusammenfassung der Werte (hier: Maximum finden)● Pro Schlüssel nur noch ein Wert

Thomas Findling, Thomas König

MapReduce - Beispiel

MapReduce-Konzept 14

Jahr Temperatur1949 1111950 22

Page 15: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

6. Ausgabe in eine Datei

Thomas Findling, Thomas König

MapReduce - Beispiel

MapReduce-Konzept 15

Page 16: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Parallele Abarbeitung

Zusammenführung der parallelen Ergebnisse (merge)

Thomas Findling, Thomas König

MapReduce - Beispiel

MapReduce-Konzept 16

Page 17: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Google's Rechenzentren

MapReduce-Konzept 17

Page 18: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Google's Rechenzentren

MapReduce-Konzept 18

● Welche Hardwarebasis steckt hinter der Such-Engine von Google?

● Erstellen der Suchindexe und Page-Rank-Tabellen erzeugt riesige Datenmengen

● Notwendigkeit für Rechenzentren● Ein Rechenzentrum besteht aus 45 Containern mit

insgesamt 45.000 Servern● Einsatz von vielen und großen Rechenzentren seit 2005● Energieverbrauch beläuft sich auf 10 Megawatt● Einsatz von wasserbetriebenen Kühltürmen● Eigenes Kraftwerk

Page 19: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Google's Rechenzentren

MapReduce-Konzept 19

● 45 Container, in jedem befinden sich 1.000 Server:

Page 20: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Google's Rechenzentren

MapReduce-Konzept 20

● Standorte:

Page 21: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Vergleich mit Relationalen DBS

MapReduce-Konzept 21

Page 22: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Vergleich mit Relationalen DBS

MapReduce-Konzept 22

MapReduce ● Datenverarbeitung als Streams, lineare Skalierung ● geeignet für:

● Batch-Verarbeitung von Daten● unstrukturierte / semi-strukturierte Daten● nicht-normalisierte Daten

Relationale DBS● Suchanfragen (langsamer), nicht-lineare Skalierung● geeignet für:

● gezielte Abfragen und Updates● strukturierte Daten● normalisierte Daten

Page 23: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Vergleich mit Relationalen DBS

MapReduce-Konzept 23

Traditional RDBMS MapReduce

Data Size Gigabytes Petabytes

Access Interactive and Batch Batch

Updates Read and write many times

Write once read many times

Structure Static schema Dynamic schema

Integrity High Low

Scaling Nonlinear Linear

Page 24: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop

MapReduce-Konzept 24

Page 25: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop

MapReduce-Konzept 25

● Hadoop ist eine Implementierung des MapReduce-Konzepts

● Open Source Projekt der Apache Software Foundation● offen für freiwillige Teilnehmer● zur Verarbeitung großer Datenmengen● Zusammenschluss von Recheneinheiten zu Clustern● parallele Abarbeitung auf den Recheneinheiten des

Clusters● hohe Fehlertoleranz, durchschnittlich passieren 1,2

Hardware-Fehler pro Job

Page 26: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop

MapReduce-Konzept 26

● Download für Unix/Linux verfügbar● unter Windows nur mit Cygwin● Programmierung mit Java, Python, C++, etc. möglich● Hadoop selbst benötigt Java 1.6● Hadoop Distributed File System (HDFS) dient als

gemeinsames Dateisystem für das Cluster● Eingabe-Dateien müssen erst in das HDFS kopiert

werden, bevor sie verwendet werden können● es werden auch andere Dateisysteme unterstützt (z.B.

CloudStore/Kosmos, S3)

Page 27: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop - Funktionsweise

MapReduce-Konzept 27

Job Tracker● koordiniert Jobs● splittet Job in Tasks

Task Tracker● führt die Map und Reduce-Tasks aus● Ein Task je Prozessor-Kern

Dateisystem● stellt die Job-Ressourcen bereit● Daten werden in Blöcke gesplittet ● Daten werden redundant gespeichert

Page 28: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 1

MapReduce-Konzept 28

● Aufruf von runJob()

● Erzeugung einer neuen JobClient-Instanz

Page 29: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 2

MapReduce-Konzept 29

● Aufruf von getNewJobId()

● Erzeugung einer neuen Job-ID

Page 30: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 3

MapReduce-Konzept 30

● kopieren aller Job-Daten in das gemeinsame File-system (Programm und Bibliotheken)

● Übertragung der Konfi-gurationsdaten

Page 31: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 4

MapReduce-Konzept 31

● Aufruf von submitJob()

● Job wird an den Job Tracker übergeben

● Überprüfung von Input und Output Spezifikationen

Page 32: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 5

MapReduce-Konzept 32

● Initialisierung des Jobs

● Verwaltung der Jobs mit einer Job-Warteschlange

● Einteilung eines Jobs in mehrere Tasks

Page 33: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 6

MapReduce-Konzept 33

● Abholung der Input Splits

● Input Splits sind logische Referenzen auf einen Block im HDFS

Page 34: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 7

MapReduce-Konzept 34

● einzelne Tasks werden den Task Trackern gemäß dem Job Scheduling zugeteilt

● „heartbeat“ meldet dem Job Tracker Statusmeldungen, z.B. dass der Task Tracker zur Verfügung steht

● Task Tracker können nur begrenzte Anzahl an Tasks gleichzeitig bearbeiten

Page 35: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 8

MapReduce-Konzept 35

● Abholung der Daten und Bibliotheken zum aktuellen Task

● Tasks bearbeiten nur lokal vorhandene Input Splits

● jeder Map-Task verarbeitet einen Input Split

Page 36: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 9

MapReduce-Konzept 36

● TaskRunner Instanz startet neue JVM zur Ausführung eines Tasks

● Für jeden Task wird eine eigene JVM gestartet

Page 37: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Hadoop – Schritt 10

MapReduce-Konzept 37

● Ausführung des Tasks

● Child-Prozess kommuniziert mit dem Parent-Task Tracker

● melde „finished“ oder „failed“ an Task Tracker

● wenn alle Tasks fertig, melde Job als „completed“

Page 38: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Nodes

MapReduce-Konzept 38

Job Tracker Node● nur einmal vorhanden● verwaltet Jobs

Task Tracker Node● beliebig viele möglich● führt Tasks aus

Name Node● nur einmal vorhanden● verwaltet Dateisystem/Zugriffe

Data Node● beliebig viele möglich● enthält Datenblöcke● direkter Zugriff auf Ressourcen

Page 39: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Fehlerbehandlung

MapReduce-Konzept 39

Task-Fehler● Abbruch/Timeout: Task Tracker meldet "failed" (Timeout: 10min)● andere Task Tracker starten Task neu (max. 4 Versuche) ● wenn Limit erreicht, wird Job als "failed" markiert (konfigurierbar)

Task Tracker-Fehler● Abbruch/Timeout: Entfernung aus dem Task Tracker Pool● Blacklisting: Task Tracker mit zu vielen Task-Fehlern● Slowdown: Task Tracker ist zu langsam● Tasks von unvollständigen Jobs werden auf Task Tracker verteilt

Job Tracker-Fehler● schwerwiegender Fehler, noch keine Lösungsmöglichkeit

Page 40: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Input / Output Formate

MapReduce-Konzept 40

Allgemein● Input Splits sind logische Referenzen auf einen Teil der Daten● Input Splits repäsentieren einen Block im HDFS● RecordReader erzeugt daraus Records (Key/Value-Paare)● Records werden an den Mapper übergeben● der Map-Output muss das Format des Reduce-Inputs haben

Text Input / Output● Record besteht aus Byteoffset / Nummer und Inhalt einer Zeile● bei XML werden Records an start- und end-Tags angepasst

Binary Input / Output● besteht aus Sequenzen von binären Key/Value-Paaren● Kompression möglich

Page 41: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Input / Output Formate

MapReduce-Konzept 41

Database Input / Output● Nutzung relationaler Datenbanken möglich● Zugriff via JDBC

Multiple Input / Output● für Input-Formate können mehrere Mapper definiert werden● Map-Output muss aber immer gleich sein● es können mehrere Output-Files oder -Formate genutzt werden

Lazy Output● OutputWrapper, für jedes Output-Format geeignet● auch ohne Output wird immer eine Output-Datei erzeugt

Page 42: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Praxis-Beispiel

MapReduce-Konzept 42

Page 43: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Praxis-Beispiel

MapReduce-Konzept 43

Aufgabe● Berechnung des günstigsten Preises

Daten● ca. 3,5 Mio Datensätze von preisvergleich.de● 3,8 GB semi-strukturierte Daten in 44 Dateien● beinhaltet Produktname, Preis, Händler, Zustand, usw.

Map-Phase● Key/Value-Zuordnung: Produktname → Preis

Reduce-Phase● finde für jeden Key (Produktname) kleinste Value (Preis)● ca. 2,5 Mio verbleibende Datensätze (= ca. 1 Mio Preisvergleiche)

Page 44: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Praxis-Beispiel

MapReduce-Konzept 44

Durchführung

Page 45: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Praxis-Beispiel

MapReduce-Konzept 45

Single Core Dual Core Cluster Kolb-Cluster0

50

100

150

200

250

300

350

400

450

500Zeitdauer (s)

● Vergleich Single Core, Dual Core und Cluster● Pentium M, 1 * 2,0 GHz

→ 464 s = 7:42 min● Core Duo, 2 * 2,0 GHz

→ 364 s = 6:04 min● Cluster, 3 * 2,0 GHz

→ 227 s = 3:47 min● Kolb-Cluster, 10 * 2,66 GHz

● 2 * 2,66 GHz● 8 * 2,66 Ghz

→ 94 s = 1:34 min

Page 46: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Zusammenfassung

MapReduce-Konzept 46

Page 47: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Zusammenfassung

MapReduce-Konzept 47

MapReduce● Parallele Verarbeitung von großen Datenmengen führt

zu einer deutlichen Zeitreduzierung bei Zugriffsoperationen

● MapReduce-Framework koordiniert automatisch die Ausführung von Tasks auf mehreren Rechnern (Dateioperationen, Berechnungen, Fehlertoleranz, …)

● Handelsübliche Computer einsetzbar● Bei großen Datenmengen ist die Stream-Verarbeitung

von MapReduce schneller als Suchanfragen auf relationale DBS

Page 48: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Zusammenfassung

MapReduce-Konzept 48

Hadoop● Hadoop ist eine Implementierung des MapReduce-

Konzepts● Für Unix/Linux frei verfügbar● Task Tracker und Job Tracker koordinieren die

Ausführung der Tasks● Bei fehlerhaften Daten oder bei zu langen

Antwortzeiten wird ein Task Tracker automatisch blockiert

● Er wird aus der Task Tracker-Liste entfernt und die Tasks werden automatisch auf die restlichen Task Tracker aufgeteilt

Page 49: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Zusammenfassung

MapReduce-Konzept 49

Hadoop● Daten sind als Blöcke im HDFS gespeichert● Daten werden immer als Key-/Value-Paare verarbeitet

(Records)● Es gibt Text-, Binary- und Database-Input / Output

Page 50: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Vielen Dank für Ihre Aufmerksamkeit!

MapReduce-Konzept 50

Page 51: MapReduce - Konzeptdbs.uni-leipzig.de/file/seminar_0910_findling_König.pdf · Thomas Findling, Thomas König Hadoop MapReduce-Konzept 26 Download für Unix/Linux verfügbar unter

Thomas Findling, Thomas König

Quellen

MapReduce-Konzept 51

● Tom White (2009): “Hadoop – The Definite Guide”, O'Reilly Media, Inc.

● MapReduce: Simplified data processing on large clustershttp://labs.google.com/papers/mapreduce-osdi04.pdf

● An Introduction to MapReducehttp://www.slideshare.net/Wombert/an-introduction-to-mapreduce

● Google Data Center Videohttp://blogoscoped.com/archive/2009-04-08-n39.html

● Map of all Google data center locationshttp://royal.pingdom.com/2008/04/11/map-of-all-google-data-center-locations/

● Apache Hadoophttp://hadoop.apache.org/

● Running Hadoop On Ubuntu Linux (Single-Node Cluster)http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_(Single-Node_Cluster)

● Running Hadoop On Ubuntu Linux (Multi-Node Cluster)http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_(Multi-Node_Cluster)

● Preisinformationen vom Preisvergleich.de-FTP-Serverftp.preisvergleich.de