Sonntag, 29. November 2015

Hadoop

Apache Hadoop

  • Projekt zur Entwicklung offener Software für sichere, skalierbare und verteilte Systeme
  • Software Bibliothek die einen Framework bereit stellt, der es ermöglicht großen Datenmengen die in Computer Cluster verteilt sind, unter zu Hilfenahme einfacher Programmiermodellen zu verwalten
  • Skalierbarkeit von einem Server bis hin zu mehreren tausend Servern, jeder mit eigenem Speicher und Berechnungen
  • dabei stellt die Library selbst sicher, dass Fehler auf dem Application Layer direkt behoben werden, um so einen hochverfügbaren Service mit geringer Anfälligkeit zu erzeugen
  • Apache Hadoop selbst besteht aus folgenden Modulen:
    • Hadoop Common: Allgemeine Werkzeuge, die die anderen Module unterstützen
    • Hadoop Distributed File System (HDFS): verteiltes Dateisystem, welches eine schnelle Zugriffszeit auf Daten bereit stellt
    • Hadoop YARN: Framework um die Cluster-Resourcen und Jobs zu organisieren. Dabei ist die Definition eines Jobs, die Verarbeitung eines vollstängen Datensatzes durch ein Programm. Im Gegensatz dazu ist ein Task ein einzelner Map- und Reducevorgang innerhalb des Jobs
    • Hadoop MapReduce: ein YARN basierter Framework um große Datensätze parallel bearbeiten zu können
  • dann gibt es auch noch weitere Hadoop-relevante Projekte:
    • Ambari: ein web-basiertes Tool zur Versorgung, Verwaltung und Überwachung von Hadoop Clustern. Enthält Support für HDFS, Hadoop MapReduce, Hive, HCatalog, HBase, ZooKeeper, Oozie, Pig und Sqoop. Ambari stellt ebenfalls ein Dashboard zur Darstellung der Cluster-Health in Form von Heatmaps und der Diagnose der Perfomance Charakteristik mit Hilfe von MapReduce, Pig und Hive
    • Avro: System um Daten zu ordnen
    • Cassandra: Eine skalierbare Multi-Master Datenbank ohne "Einzelpunkt-Fehler" (??) (Single-Point failure)
    • Chukwa: Daten-Sammler für große verteilte Systeme
    • HBase: skalierbare, verteile Datenbank, die strukturierten Datenspeicher für große Tabellen unterstützt
    • Hive: Daten Warehouse Infrastructure, die Datensammlungen und ad hoc Abfragen bereit stellt
    • Mahout: a scalable machine learning and data mining library
    • Pig: Platform zur Programmierung von MapReduce Programmen mit Hilfe der Programmiersprache Pig Latin
    • Spark: Schnelle und allgemeine Rechenmaschine für Hadoop-Daten. Unterstützt einfaches, eindrucksvolles Programmiermodell, welches eine große Anzahl von Anwendungen (inkl. ETL), maschinelles Lernen, Stream processing und grafische Berechnungen beinhaltet.
    • Tez: Allgemeiner Framework für Datenfluß-Programmierung, der auf YARN aufbaut. Er stellt eine starke und flexible Maschine zur Verfügung, die eine beliebige Zahl von DAGs (Database Availability Group) für passive und aktive Anwendungsfälle verarbeiten kann
    • ZooKeeper: ein hochperformanter Koordinations-Service für verteilte Anwendungen

Keine Kommentare:

Kommentar veröffentlichen