Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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

377 Aufrufe

Veröffentlicht am

Waldemar Reger, inovex GmbH, Juli 2014

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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

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 ! ! ! ! !

×