Gorodenkoff - stock.adobe.com
Hadoop-Distributionen für das Big-Data-Management erkunden
Hadoop bietet vielfältige Möglichkeiten für das Management und die Verarbeitung von Big Data. Allerdings ist die Auswahl an kommerziellen Lösungen begrenzt.
Apache Hadoop ist eine Open-Source-Datenmanagementtechnologie. Seine Schöpfer entwarfen das Distributed Processing Framework im Jahr 2006 und setzten dabei teilweise auf Ideen, die Google in zwei technischen Abhandlungen skizzierte.
Yahoo war das erste produktive Anwenderunternehmen von Hadoop. Andere Internetunternehmen wie Facebook, LinkedIn und Twitter folgten und begannen, zur Entwicklung der Technologie beizutragen. Hadoop entwickelte sich schließlich seitdem zu einem komplexen Ökosystem aus Infrastrukturkomponenten und zugehörigen Tools, die von verschiedenen Anbietern in kommerziellen Hadoop-Distributionen zusammengefasst werden.
Hadoop läuft auf Clustern von handelsüblichen Servern und bietet Anwendern einen leistungsstarken und kostengünstigen Ansatz für die Einrichtung einer Big-Data-Managementarchitektur zur Unterstützung von Advanced Analytics.
Da das Bewusstsein für die Fähigkeiten von Hadoop gewachsen ist, hat sich seine Verwendung auf andere Branchen ausgeweitet, sowohl für Reporting- als auch für Analyseanwendungen, die eine Mischung aus traditionellen strukturierten Daten und neueren Formen von unstrukturierten und halbstrukturierten Daten beinhalten. Dazu gehören Web-Clickstream-Daten, Online-Werbeinformationen, Social-Media-Daten, Datensätze aus dem Gesundheitswesen sowie Sensordaten von Produktionsanlagen und anderen Geräten aus dem Internet der Dinge.
Was ist Hadoop?
Das Hadoop-Framework umfasst verschiedene Open-Source-Softwarekomponenten mit einer Reihe von Kernmodulen zur Erfassung, Verarbeitung, Verwaltung und Analyse großer Datenmengen, die von einer Vielzahl von unterstützenden Technologien umgeben sind. Zu den Kernkomponenten gehören:
- Das Hadoop Distributed File System (HDFS): Unterstützt ein konventionelles hierarchisches Verzeichnis- und Dateisystem, das die Dateien auf die Speicherknoten – das heißt DataNodes – in einem Hadoop-Cluster verteilt.
- YARN (Abkürzung für Yet Another Resource Negotiator): Verwaltet das Job Scheduling und weist den laufenden Anwendungen Cluster-Ressourcen zu und vermittelt zwischen ihnen, wenn es zu Konflikten um die verfügbaren Ressourcen kommt. Es verfolgt und überwacht auch den Fortschritt der Verarbeitung von Jobs.
- MapReduce: Ein Programmiermodell und Execution Framework für die parallele Verarbeitung von Batch-Anwendungen.
- Hadoop Common: Ein Satz von Bibliotheken und Dienstprogrammen, die von den anderen Komponenten genutzt werden.
- Hadoop Ozone und Hadoop Submarine: Neuere Technologien, die Anwendern Object Storage beziehungsweise eine Engine für Machine Learning bereitstellen.
In Hadoop-Clustern setzen diese Kernkomponenten und andere Softwaremodule auf einer Sammlung von Computing- und Data-Storage-Hardwareknoten auf. Die Knoten sind über ein internes Hochgeschwindigkeitsnetzwerk miteinander verbunden und bilden ein leistungsfähiges paralleles und verteiltes Verarbeitungssystem.
Da es sich um eine Sammlung von Open-Source-Technologien handelt, wird Hadoop nicht von einem einzelnen Anbieter kontrolliert, sondern von der Apache Software Foundation entwickelt. Apache bietet Hadoop unter einer Lizenz an, die Anwendern ein kostenloses, lizenzfreies Recht zur Nutzung der Software gewährt.
Entwickler und andere Benutzer können die Software direkt von der Apache-Website herunterladen und selbständig Hadoop-Umgebungen aufbauen. Hadoop-Anbieter bieten jedoch vorgefertigte Community-Versionen mit Basisfunktionalität an, die Benutzer ebenfalls kostenlos herunterladen und auf einer Vielzahl von Hardwareplattformen installieren können. Die Anbieter vermarkten auch kommerzielle Hadoop-Distributionen, die die Software mit verschiedenen Stufen von Wartungs- und Support-Services bündeln.
In einigen Fällen stellen die Anbieter auch Leistungs- und Funktionserweiterungen gegenüber der Apache-Basistechnologie zur Verfügung – zum Beispiel durch zusätzliche Software-Tools, die die Cluster-Konfiguration und -Verwaltung oder die Datenintegration mit externen Plattformen erleichtern. Diese kommerziellen Angebote machen Hadoop für Unternehmen aller Größenordnungen zunehmend erschwinglich.
Dies ist besonders wertvoll, wenn das Support-Services-Team des kommerziellen Anbieters einem Unternehmen bei der Konzeption und Entwicklung seiner Hadoop-Infrastruktur unter die Arme greifen kann. Es ist auch hilfreich, bei der Auswahl von Tools und der Integration fortschrittlicher Funktionen, um leistungsfähige Analysesysteme bereitzustellen, die den neuen Geschäftsanforderungen entsprechen.
Die Komponenten eines typischen Hadoop-Software-Stacks
Was bekommt man, wenn man eine kommerzielle Version von Hadoop verwendet? Zusätzlich zu den Kernkomponenten enthalten typische Hadoop-Distributionen unter anderem:
- Alternative Datenverarbeitungs- und Ausführungsmanager wie Spark, Kafka, Flink, Storm oder Tez, die auf oder neben YARN laufen können, um Cluster-Management, Cache-Datenmanagement und andere Mittel zur Verbesserung der Verarbeitungsleistung bereitzustellen.
- Apache HBase: Ein spaltenorientiertes Datenbankmanagementsystem nach dem Vorbild des Bigtable-Projekts von Google, das auf dem HDFS läuft.
- SQL-on-Hadoop-Tools, wie zum Beispiel Hive, Impala, Presto, Drill und Spark SQL, die in unterschiedlichem Maße den SQL-Standard für die direkte Abfrage von in HDFS gespeicherten Daten unterstützen.
- Entwicklungs-Tools, wie zum Beispiel Pig, die Entwicklern bei der Erstellung von MapReduce helfen.
- Konfigurations- und Verwaltungs-Tools, wie ZooKeeper oder Ambari, die für die Überwachung und Verwaltung gedacht sind.
- Analyseumgebungen wie Mahout, das Analysemodelle für maschinelles Lernen, Data Mining und Predictive Analytics liefert.
Da die Software Open Source ist, müssen Unternehmen eine Hadoop-Distribution nicht per se als Produkt kaufen. Stattdessen verkaufen die Anbieter jährliche Support-Abonnements mit unterschiedlichen Service Level Agreements (SLAs). Alle Anbieter sind aktive Teilnehmer der Apache-Hadoop-Community, auch wenn jeder von ihnen seine eigenen Zusatzkomponenten bewirbt, die er als Teil seiner Hadoop-Distribution in die Community einbringt.
Wer verwaltet die Hadoop-Umgebung?
Es ist wichtig zu erkennen, dass die gewünschte Leistung eines Hadoop-Systems ein koordiniertes Team von qualifizierten IT-Fachleuten erfordert, die bei der Architekturplanung, dem Design, der Entwicklung, dem Testen, der Bereitstellung und dem laufenden Betrieb und der Wartung zusammenarbeiten, um Spitzenleistung zu gewährleisten. Diese IT-Teams umfassen typischerweise:
- Analysten, die die Anforderungen an die Systemleistung basierend auf den Arten von Anwendungen, die in der Hadoop-Umgebung ausgeführt werden sollen, bewerten;
- Systemarchitekten, um die Leistungsanforderungen zu bewerten und Hardwarekonfigurationen zu entwerfen;
- Systemingenieure, um den Hadoop-Software-Stack zu installieren, zu konfigurieren und abzustimmen;
- Softwareentwickler, um Anwendungen zu entwerfen und zu implementieren;
- Datenmanagementexperten, die Datenintegrationsjobs vorbereiten und ausführen, Datenlayouts erstellen und andere Verwaltungsaufgaben durchführen;
- Systemmanager, um Betriebsmanagement und Wartung sicherzustellen;
- Projektmanager, die die Implementierung der verschiedenen Ebenen des Stacks und der Anwendungsentwicklung überwachen; und
- einen Programmmanager, der die Implementierung der Hadoop-Umgebung und die Priorisierung, Entwicklung und den Einsatz von Anwendungen überwacht.
Der Markt für Hadoop-Plattformen
Die Entwicklung von Hadoop als praktikables, groß angelegtes Datenmanagementökosystem hat auch einen neuen Softwaremarkt geschaffen, der die Business-Intelligence- und Analysebranche verändert. Dies hat sowohl die Arten von Analyseanwendungen erweitert, die Anwenderunternehmen ausführen können, als auch die Arten von Daten, die die Unternehmen als Teil dieser Anwendungen sammeln und analysieren können.
Auf dem Markt gibt es vor allem einen großen Anbieter, der sich auf Hadoop spezialisiert hat: Cloudera (Cloudera und Hortonworks haben sich im Oktober 2018 zu diesem neuen Unternehmen zusammengeschlossen). Bis August 2019 war außerdem MapR Technologies auf Hadoop spezialisiert, musste aber aufgrund von finanziellen Schwierigkeiten seine Technologie an Hewlett Packard Enterprise (HPE) verkaufen, die heute die MapR Data Platform weiterentwickeln und vertreiben.
Andere Unternehmen, die Hadoop-Distributionen oder -Funktionen anbieten, sind die Cloud-Plattform-Marktführer AWS, Google und Microsoft, das Hortonworks als Teil eines verwalteten Dienstes für Big-Data-Distributionen nutzt.
Im Laufe der Jahre ist der Hadoop-Markt gereift und hat sich konsolidiert: IBM, Intel und Pivotal Software sind alle aus dem Markt ausgestiegen. Die Verschmelzung von Cloudera und Hortonworks ist die bisher größte Veränderung für Anwender. Der Zusammenschluss der ehemaligen Rivalen verschafft Cloudera eine dominierende Rolle am Hadoop-Markt. Mit der Data Platform versucht der Anbieter außerdem, den Druck auf die Konkurrenz in der Cloud zu erhöhen.
Obwohl das neue Cloudera wettbewerbsfähiger ist, brachte die Fusion einen großen Nachteil mit sich: Hadoop-Anwender haben nun weniger Optionen. Aus diesem Grund ist es umso wichtiger, die Anbieter von Hadoop-Distributionen zu bewerten und die Gemeinsamkeiten und Unterschiede zwischen den beiden Hauptaspekten der Produktangebote zu verstehen.
Der erste Punkt hierbei ist die Technologie selbst: Was ist in den verschiedenen Distributionen enthalten, auf welchen Plattformen werden sie unterstützt und, was am wichtigsten ist, welche spezifischen Komponenten werden von den einzelnen Anbietern unterstützt?
Zweitens das Service- und Support-Modell: Welche Arten von Support und SLAs bieten die Anbieter innerhalb der einzelnen Abonnementstufen an, und wie viel kosten die verschiedenen Abonnements?