Analyse und Evaluierung von Parameterabhängigkeiten anhand der

Laufzeit von MapReduce-Jobs zur Konzeptionierung von Hadoo...
2
1. Hadoop Grundlagen
2. Cluster Berechnungsarten
3. Ausgangslage
4. Aufgabenstellung
5. Herausforderung
6. Versuchsumgeb...
‣ Open-Source Framework unter Apache Lizenz
‣ Besteht aus den Kernkomponenten HDFS und MapReduce
‣ Weitere Komponenten kön...
‣ Hochverfügbares Dateisystem
‣ Redundante Speicherung von großen Datenmengen auf allen Cluster Nodes
‣ Blockweise Speiche...
‣ Programmiermodell zur Verarbeitung von großen, strukturierten und
unstrukturierten Daten
‣ Parallele Ausführung durch Au...
‣ Besteht aus der Map- und Reduce-Funktion (map() und reduce())
‣ Aufteilung in Map- und Reduce-Phase
‣ map() und reduce()...
‣ Reduce-Phase kann während der Ausführung der Map-Phase beginnen
‣ Pro Node werden für die Verarbeitung von Tasks Slots z...
‣ MapReduce-Job Beispiel: Wordcount
8
Hadoop Grundlagen
MapReduce Teil 4
‣ Benötigte Informationen (Eingabe)
‣ Vorhandenes Datenvolumen
‣ Hinzukommendes Datenvolumen pro Zeiteinheit (z.B. TB/Mona...
‣ Benötigte Informationen (Eingabe):
‣ Geplante MapReduce-Job Verarbeitungszeit
‣ Zu verarbeitende Datengröße
‣ Anzahl vor...
‣ Manuelle Berechnung der Clustergröße (Anzahl benötigter Nodes) für die
Speicherung der Daten
‣ Keine genaue Aussage über...
‣ Einflussnehmende Cluster Parameter definieren
‣ Parameterabhängigkeiten analysieren
‣ Ziel: Planung und Dimensionierung ...
‣ Viele Abhängigkeiten -> Erhöhung der Komplexität
‣ Art des MapReduce-Jobs (IO- / Speicherintensiv)
‣ Individuelle Progra...
‣ Beschränkung der zu analysierenden Parameter
‣ Hardware Konfiguration (allgemein)
‣ Anzahl Nodes pro Cluster
‣ Zu verarb...
‣ Amazon Elastic MapReduce (EMR) Cluster (Bestehend aus Amazon EC2
Instanzen)
‣ 3 unterschiedliche Hardware Konfiguratione...
‣ Hadoop Version 1 (HDFS + MapReduce)
‣ Version 0.20.205
‣ Standard Amazon EMR Konfiguration
‣ Blockgröße: 64 MB
‣ Standar...
‣ Unterteilung der Versuche in 3 Hardware Konfigurationen
‣ Pro Hardware Konfiguration:
‣ Clustergröße von 3, 6 und 12 Nod...
‣ Pro Hardwarekonfiguration:
18
Vorgehensweise
Szenario
‣ Analyse der Messergebnisse mit unterschiedlicher Hardware Konfiguration
‣ Andere Parameter bleiben unverändert
‣ Verglei...
‣ Analyse der Messergebnisse mit unterschiedlicher Anzahl Nodes
‣ Andere Parameter bleiben unverändert
‣ Analyse der Laufz...
21
Analyse der Parameterabhängigkeiten
Parameter: Anzahl Nodes
‣ Analyse der Messergebnisse mit unterschiedlicher Input Datengröße
‣ Andere Parameter bleiben unverändert
‣ Analyse der L...
‣ Messergerbnisse in einer Formel zusammengefasst
‣ Ermöglicht das einfache Berechnen von:
‣ MapReduce-Job Laufzeiten
‣ Be...
‣ Berechnung der benötigten Anzahl Nodes für:
‣ Berechnung des Datenvolumens für den Nutzungszeitraum
‣ Berechnung der Map...
25
Ende
Fragen?
26
Vielen Dank für Ihre Aufmerksamkeit!
Kontakt
!
Waldemar Reger
!
inovex GmbH
Office Köln
Schanzenstraße 6 - 20
51063 Köl...
Nächste SlideShare
Wird geladen in …5
×

Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von MapReduce-Jobs zur Konzeptionierung von Hadoop-Clustern

309 Aufrufe

Veröffentlicht am

Waldemar Reger, inovex GmbH, Juli 2014

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
309
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von MapReduce-Jobs zur Konzeptionierung von Hadoop-Clustern

  1. 1. Analyse und Evaluierung von Parameterabhängigkeiten anhand der
 Laufzeit von MapReduce-Jobs zur Konzeptionierung von Hadoop-Clustern ! ! Waldemar Reger Köln, 23.07.2014
  2. 2. 2 1. Hadoop Grundlagen 2. Cluster Berechnungsarten 3. Ausgangslage 4. Aufgabenstellung 5. Herausforderung 6. Versuchsumgebung 7. Vorgehensweise 8. Analyse der Parameterabhängigkeiten 9. Applikation zur Berechnung von Clustern 10.Applikation DEMO Agenda
  3. 3. ‣ Open-Source Framework unter Apache Lizenz ‣ Besteht aus den Kernkomponenten HDFS und MapReduce ‣ Weitere Komponenten können zusätzlich verwendet werden (Hive, HBase, Pig, …) 3 Hadoop Grundlagen Hadoop
  4. 4. ‣ Hochverfügbares Dateisystem ‣ Redundante Speicherung von großen Datenmengen auf allen Cluster Nodes ‣ Blockweise Speicherung ‣ Master-Slave Architektur (siehe nächste Folie) 4 Hadoop Grundlagen HDFS
  5. 5. ‣ Programmiermodell zur Verarbeitung von großen, strukturierten und unstrukturierten Daten ‣ Parallele Ausführung durch Aufteilung der Berechnung auf mehrere Nodes ‣ Master-Slave Architektur ‣ 1 Job-Tracker, mehrere Task-Tracker 5 Hadoop Grundlagen MapReduce Teil 1
  6. 6. ‣ Besteht aus der Map- und Reduce-Funktion (map() und reduce()) ‣ Aufteilung in Map- und Reduce-Phase ‣ map() und reduce() sind individuell programmierbar -> Rest erledigt das Framework ‣ Map-Phase liest Daten (Schlüssel-/Wert-Paare) ein und sortiert vor ‣ Reduce-Phase aggregiert über die Ergebnisse der Map-Phase und speichert das Ergebnis im HDFS 6 Hadoop Grundlagen MapReduce Teil 2
  7. 7. ‣ Reduce-Phase kann während der Ausführung der Map-Phase beginnen ‣ Pro Node werden für die Verarbeitung von Tasks Slots zur Verfügung gestellt ‣ Slots sind in Map-Slots und Reduce-Slots fest definiert ‣ Optimales Slot-Verhältnis pro Cluster: 2/3 Map-Slots und 1/3 Reduce-Slots 7 Hadoop Grundlagen MapReduce Teil 3
  8. 8. ‣ MapReduce-Job Beispiel: Wordcount 8 Hadoop Grundlagen MapReduce Teil 4
  9. 9. ‣ Benötigte Informationen (Eingabe) ‣ Vorhandenes Datenvolumen ‣ Hinzukommendes Datenvolumen pro Zeiteinheit (z.B. TB/Monat) ‣ Replikationsfaktor ‣ Zeitraum für die Verwendung des Clusters (z.B. 48 Monate) ‣ Ausgabe: ‣ Gesamtes Datenvolumen für den Verwendungszeitraum ‣ Vorrangig: ‣ Speicherung des gesamten Datenvolumens 9 Cluster Berechnungsarten Nach dem Datenvolumen
  10. 10. ‣ Benötigte Informationen (Eingabe): ‣ Geplante MapReduce-Job Verarbeitungszeit ‣ Zu verarbeitende Datengröße ‣ Anzahl vorhandener MapReduce-Slots ‣ Art des MapReduce-Jobs (nicht in der Arbeit berücksichtigt!) ‣ Ausgabe: ‣ Anzahl erfolgreicher Nodes ‣ Berechnung der Bearbeitungszeit hängt auch von der Hardwarekonfiguration ab 10 Cluster Berechnungsarten Über die MapReduce-Job Laufzeit
  11. 11. ‣ Manuelle Berechnung der Clustergröße (Anzahl benötigter Nodes) für die Speicherung der Daten ‣ Keine genaue Aussage über die Laufzeit von MapReduce-Jobs möglich ‣ Berechnung basiert auf Erfahrungen aus vergangenen Projekten ‣ dadurch: sehr ungenaue und kostenintensive Planungsphase ‣ Zeitintensive und mühselige Planung von Hadoop Clustern 11 Ausgangslage
  12. 12. ‣ Einflussnehmende Cluster Parameter definieren ‣ Parameterabhängigkeiten analysieren ‣ Ziel: Planung und Dimensionierung von Hadoop-Clustern ‣ Schnelle und einfache Bestimmung der Clustergröße ‣ Berechnung über das zu speichernde Datenvolumen ‣ Berechnung über die Vorhersage von MapReduce-Laufzeiten ‣ Integration der Ergebnisse in eine Applikation für die Berechnung von Hadoop- Clustern ‣ Hier: Parameterabhängigkeiten für die Berechnung eines Clusters über die MapReduce-Job Laufzeit analysieren 12 Aufgabenstellung
  13. 13. ‣ Viele Abhängigkeiten -> Erhöhung der Komplexität ‣ Art des MapReduce-Jobs (IO- / Speicherintensiv) ‣ Individuelle Programmierung der map()- und reduce()-Funktion ‣ Hardware Konfiguration (CPU, RAM, HDD Größe, Anzahl HDDs, …) ‣ Anzahl verwendeter Nodes ‣ Zu verarbeitende Datenmenge ‣ Anzahl gleichzeitig ausgeführter MapReduce-Jobs ‣ Parameter beeinflussen sich gegenseitig 13 Herausforderung Parameterabhängigkeiten für die Laufzeitbestimmung
  14. 14. ‣ Beschränkung der zu analysierenden Parameter ‣ Hardware Konfiguration (allgemein) ‣ Anzahl Nodes pro Cluster ‣ Zu verarbeitende Datenmenge (Input Datengröße) ‣ Anzahl Map- und Reduce-Slots 14 Versuchsumgebung Parameter für die Abhängigkeitsanalyse
  15. 15. ‣ Amazon Elastic MapReduce (EMR) Cluster (Bestehend aus Amazon EC2 Instanzen) ‣ 3 unterschiedliche Hardware Konfigurationen ! ! ! ! ! ‣ Amazon S3 als Quelle für den Dateninput 15 Versuchsumgebung Verwendete Cluster Hardware
  16. 16. ‣ Hadoop Version 1 (HDFS + MapReduce) ‣ Version 0.20.205 ‣ Standard Amazon EMR Konfiguration ‣ Blockgröße: 64 MB ‣ Standard MapReduce-Job: TeraSort ‣ Generierung der Daten mit Hilfe von TeraGen 16 Versuchsumgebung Verwendete Software
  17. 17. ‣ Unterteilung der Versuche in 3 Hardware Konfigurationen ‣ Pro Hardware Konfiguration: ‣ Clustergröße von 3, 6 und 12 Nodes (Slave-Nodes) ‣ 1, 5 und 10 GB Input-Datengrößen ‣ Pro Versuchsdurchlauf unterschiedliche MapReduce-Slot Konstellation ‣ 1 Reducer-Slot und Rest Map-Slots ‣ 2/3 Map-Slots und 1/3 Reduce-Slots ‣ Map- und Reduce-Slots im Verhältnis 50:50 17 Vorgehensweise Versuchsaufbau
  18. 18. ‣ Pro Hardwarekonfiguration: 18 Vorgehensweise Szenario
  19. 19. ‣ Analyse der Messergebnisse mit unterschiedlicher Hardware Konfiguration ‣ Andere Parameter bleiben unverändert ‣ Vergleich der MapReduce-Job Laufzeit bei: ‣ Hardware 1 mit Hardware 2 ‣ Hardware 2 mit Hardware 3 ‣ Ergebnis: ‣ HW1 mit HW2: Laufzeit halbiert ‣ HW2 mit HW3: Laufzeit halbiert ‣ Begründung: Verdoppelung der CPU-Cores pro Hardware Konfiguration 19 Analyse der Parameterabhängigkeiten Parameter: Unterschiedliche Hardware Konfiguration
  20. 20. ‣ Analyse der Messergebnisse mit unterschiedlicher Anzahl Nodes ‣ Andere Parameter bleiben unverändert ‣ Analyse der Laufzeit durch: ‣ Verdoppelung der Nodeanzahl: ‣ Laufzeit mit 3 Nodes und mit 6 Nodes ‣ Laufzeit mit 6 Nodes und mit 12 Nodes ‣ Ergebnis: ‣ Doppelte Anzahl Nodes -> Halbierung der MapReduce-Job Laufzeit ‣ Begründung: Anzahl der Map- und Reduce-Slots wird durch die Anzahl Nodes auch verdoppelt 20 Analyse der Parameterabhängigkeiten Parameter: Anzahl Nodes
  21. 21. 21 Analyse der Parameterabhängigkeiten Parameter: Anzahl Nodes
  22. 22. ‣ Analyse der Messergebnisse mit unterschiedlicher Input Datengröße ‣ Andere Parameter bleiben unverändert ‣ Analyse der Laufzeit durch: ‣ Laufzeit bei Input Datengrößen 1GB und 5GB (+ Zwischengrößen 2, 3, 4 und 8GB bei Hardware Konfiguration 1) ‣ Laufzeit bei Input Datengrößen 5GB und 10GB ‣ Ergebnis: ‣ HW1: Verdoppelung der Input Datengröße -> Verdoppelung der Laufzeit ‣ HW2 und HW3: Verdoppelung der Input-Datengröße -> Laufzeit 1,5x höher 22 Analyse der Parameterabhängigkeiten Parameter: Input Datengröße
  23. 23. ‣ Messergerbnisse in einer Formel zusammengefasst ‣ Ermöglicht das einfache Berechnen von: ‣ MapReduce-Job Laufzeiten ‣ Benötigter Nodes ‣ Input Datengröße ‣ Formel wurde im Praxistest bestätigt 23 Analyse der Parameterabhängigkeiten Zusammenfassung für HW1
  24. 24. ‣ Berechnung der benötigten Anzahl Nodes für: ‣ Berechnung des Datenvolumens für den Nutzungszeitraum ‣ Berechnung der MapReduce-Job Laufzeit 24 Applikation zur Berechnung von Clustern
  25. 25. 25 Ende Fragen?
  26. 26. 26 Vielen Dank für Ihre Aufmerksamkeit! Kontakt ! Waldemar Reger ! inovex GmbH Office Köln Schanzenstraße 6 - 20 51063 Köln ! Mail: wreger@inovex.de ! ! ! ! !

×