performance-analyse von apache spark und apache edoc.sub.uni- horgas thema der arbeit...

Download Performance-Analyse von Apache Spark und Apache edoc.sub.uni-  Horgas Thema der Arbeit Performance-Analyse von Apache Spark und Apache Hadoop Stichworte Apache Spark, Apache Hadoop, Big Data, Benchmarking

Post on 06-Feb-2018

219 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

  • BachelorarbeitTim Horgas

    Performance-Analyse von Apache Spark und Apache Hadoop

    Fakultt Technik und InformatikStudiendepartment Informatik

    Faculty of Engineering and Computer ScienceDepartment of Computer Science

  • Tim Horgas

    Performance-Analyse von Apache Spark und Apache Hadoop

    Bachelorarbeit eingereicht im Rahmen der Bachelorprfung

    im Studiengang Bachelor of Science Wirtschaftsinformatikam Department Informatikder Fakultt Technik und Informatikder Hochschule fr Angewandte Wissenschaften Hamburg

    Betreuender Prfer: Prof. Dr. ZukunftZweitgutachter: Prof. Dr. Steens

    Eingereicht am: 24.09.15

  • Tim Horgas

    Thema der ArbeitPerformance-Analyse von Apache Spark und Apache Hadoop

    StichworteApache Spark, Apache Hadoop, Big Data, Benchmarking, Performance-Analyse

    KurzzusammenfassungDiese Bachelorarbeit beschftigt sich im Kontext Big Data mit der Analyse der Performancevon Apache Spark im Vergleich zu Apache Hadoop. Dabei werden Apache Hadoop und ApacheSpark in Form eines Benchmarks verglichen und anschlieend durch eine Nutzwertanalysebewertet.Tim Horgas

    Title of the paperPerformance-Analysis of Apache Spark and Apache Hadoop

    KeywordsApache Spark, Apache Hadoop, Big Data, Benchmarking, Performance-Analysis

    AbstractThis Bachelor-Thesis describes a Performance-Analyses of the frameworks Apache Spark andApache Hadoop in context of Big Data. The Performance-Analyses contains a benchmark ofApache Hadoop and Apache Spark with an evaluation achieved as value benet analysis ofboth frameworks.

  • Inhaltsverzeichnis

    1 Einleitung 11.1 Big Data als Grundlage fr neue Technologien . . . . . . . . . . . . . . . . . . 11.2 Technologien zur Umsetzung von Big Data Analysen . . . . . . . . . . . . . . 21.3 Apache Hadoop und Apache Spark . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 MapReduce 52.1 Verwendung und Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.1.1 Map-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.2 Reduce-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.2 Bewertung des MapReduce-Verfahrens . . . . . . . . . . . . . . . . . . . . . . 72.2.1 Vorteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2 Nachteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3 HDFS 93.1 Anwendungsmglichkeiten und Ziele von HDFS . . . . . . . . . . . . . . . . . 93.2 Master-Slave-Replikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.3 Aufbau von HDFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.3.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.4 Bewertung von Hadoop HDFS . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4.1 Vorteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4.2 Nachteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    4 Apache Hadoop 174.1 Anwendungsmglichkeiten und Ziele von Apache Hadoop . . . . . . . . . . . 174.2 Aufbau von Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    4.2.1 Architektur von YARN . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2.2 Hadoop MapReduce . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2.3 Apache Hive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    4.3 Bewertung von Apache Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3.1 Vorteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3.2 Nachteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    5 Apache Spark 255.1 Anwendungsmglichkeiten und Ziele von Apache Spark . . . . . . . . . . . . 25

    iv

  • Inhaltsverzeichnis

    5.2 Aufbau von Apache Spark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2.1 Programmiermodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2.2 Architektur eines Spark-Clusters . . . . . . . . . . . . . . . . . . . . . 305.2.3 Spark SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    5.3 Bewertung von Apache Spark . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.3.1 Vorteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.3.2 Nachteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    6 Performance-Test 346.1 Aufbau des Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    6.1.1 Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.1.2 Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.1.3 Hypothesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.1.4 Operationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366.1.5 Ausfhrungsmodell des Benchmarks . . . . . . . . . . . . . . . . . . . 37

    6.2 Benchmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.2.1 Hypothese 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.2.2 Hypothese 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.2.3 Hypothese 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.2.4 Hypothese 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466.2.5 Hypothese 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    6.3 Korrektheit des Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.4 Ergebnisse des Performance-Tests . . . . . . . . . . . . . . . . . . . . . . . . . 53

    7 Auswertung 567.1 Nutzwertanalyse des Performance-Tests . . . . . . . . . . . . . . . . . . . . . . 56

    7.1.1 Benennung des Entscheidungsproblems und Auswahl der Entschei-dungsalternativen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    7.1.2 Sammlung der Entscheidungskriterien . . . . . . . . . . . . . . . . . . 567.1.3 Gewichtung der Entscheidungskriterien . . . . . . . . . . . . . . . . . 587.1.4 Bewertung der Entscheidungskriterien . . . . . . . . . . . . . . . . . . 597.1.5 Nutzwertberechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    7.2 Analyse der praktischen Vor- und Nachteile von Apache Hadoop und ApacheSpark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    8 Zusammenfassung und Ausblick 658.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658.2 Anmerkungen und Anregungen fr weitere Forschung . . . . . . . . . . . . . 668.3 Chancen von Apache Spark im Bereich Big Data . . . . . . . . . . . . . . . . . 66

    Anhang A Cluster Monitoring 68A.1 Hypothese 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68A.2 Hypothese 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    v

  • Inhaltsverzeichnis

    Anhang B Beispieldaten 73

    Literaturverzeichnis 81

    vi

  • Tabellenverzeichnis

    5.1 Interface eines RDDs in Spark . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    6.1 Ergebnisse zu Hypothese 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.2 Ergebnisse zu Hypothese 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.3 Ergebnisse zu Hypothese 3 von Hadoop . . . . . . . . . . . . . . . . . . . . . . 456.4 Ergebnisse zu Hypothese 3 von Spark . . . . . . . . . . . . . . . . . . . . . . . 456.5 Ergebnisse zu Hypothese 4 von Apache Hadoop . . . . . . . . . . . . . . . . . 476.6 Ergebnisse zu Hypothese 4 von Apache Spark . . . . . . . . . . . . . . . . . . 506.7 Ergebnisse zu Hypothese 5 von Apache Hadoop . . . . . . . . . . . . . . . . . 516.8 Ergebnisse zu Hypothese 5 von Apache Spark . . . . . . . . . . . . . . . . . . 51

    7.1 Auistung der Kriteriengruppen mit Bewertungskriterien . . . . . . . . . . . . 577.2 Berechnung der Kriteriengewichte mit Hilfe von Kriteriengruppen . . . . . . 597.3 Skala fr die Berechnung der Bewertungen . . . . . . . . . . . . . . . . . . . . 607.4 Berechnung der Nutzwertanalyse . . . . . . . . . . . . . . . . . . . . . . . . . 617.5 Nutzwertanalyse Gesamtergebnis . . . . . . . . . . . . . . . . . . . . . . . . . 63

    vii

  • Abbildungsverzeichnis

    3.1 Beispielhaftes Hadoop Cluster mit Zusammensetzung aus mehreren racks . . 113.2 Komponenten eines NameNodes . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3 Komponenten eines DataNodes . . . . . . . . . . . . . . . . . . . . . . . . . . 133.4 Beispielhaftes Hadoop Cluster mit Schreibvorgang an der Datei le1 . . . . . . 15

    4.1 Architektur von YARN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Slave-Node in einem YARN Cluster . . . . . . . . . . . . . . . . . . . . . . . . 204.3 Wichtige Komponenten des RessourceManagers . . . . . . . . . . . . . . . . . 204.4 Ausfhrung einer MapReduce-Anwendung mit YARN . . . . . . . . . . . . . . 22

    5.1 Dependencies in Spark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.2 Master/Slave-Architektur eines Spark Clusters . . . . . . . . . . . . . . . . . . 31

    6.1 Ergebnisse der Hypothese 1: Diagramm . . . . . . . . . . . . . . . . . . . . . . 396.2 Auslastung des Hauptspeichers von Apache Hadoop und Apache Spark wh-

    rend der Operation WordCount . . . . . . . . . . . . . . . . . . . . . . . . . . 406.3 Auslastung des Hauptspeichers von Apache Hadoop und Apache Spark wh-

    rend der Operation URLCount . . . . . . . . . . . . . . . . . . .

Recommended

View more >