Clouderas Hadoop-Distribution runderneuert

© © sxwx, 123RF

Das vierte Programm

In der freien Software-Welt bietet Hadoop die Grundlage für Big-Data-Anwendungen. Die zueinander passenden Komponenten der Hadoop-Welt zu installieren, ist schon nicht einfach. Abhilfe schafft die Cloudera-Distribution für Hadoop.
Security ist ein stets aktuelles Thema in der IT. Deshalb widmet sich das ADMIN-Magazin 04/2012 speziell Sicherheitsaspekten und gibt Antworten auf die Fragen: ... (mehr)

Seit 2007 ist die Apache Foundation die Heimat von Hadoop. Neben dem verteilten Dateisystem HDFS und dem Map-Reduce-Framework Hadoop Commons sind auch viele darauf aufbauende Werkzeuge dort untergekommen. Der Grund dafür liegt darin, dass viele der mitwirkenden Firmen die eigenen Inhouse- oder Kunden-Lösungen einer größeren Entwicklergemeinde zugänglich machen wollten.

Die Installation der einzelnen Komponenten von Hadoop ist alles andere als trivial. Möchte man den gesamten Stack aus Hadoop-Grundsystem plus zusätzliche Tools wie Zookeeper, Pig, Hive und so weiter auf einem Cluster installieren, ist die Nutzung der Apache-Versionen nicht in allen Fällen empfehlenswert, da man hier genau darauf achten muss, welcher Release-Stand mit welcher Version kooperieren kann.

Um diesen Zustand zu verbessern, bieten Firmen wie Cloudera, Hortonworks, Greenplum, IBM oder MapR eigene Hadoop-Distributionen, die – ähnlich dem Paketkonzept der gängiger Linux-Distributionen – spezifische Installationsprogramme mitbringen.

Die kalifornische Firma Cloudera war eine der ersten, die Beratung und Schulungen rund um Hadoop und die Lösung von Big-Data-Problemen anboten. Schon früh hat sie auch mit der Cloudera Distribution for Hadoop (CDH) eine Sammlung von Werkzeugen zusammengestellt, die für Debian/Ubuntu, Suse und Red Hat eine vereinfachte Installation bietet.

Die jetzt erschienene Version 4 (kurz CDH4) bringt eine Reihe von Verbesserungen mit sich [1]. Diese betreffen sowohl das Grundsystem Hadoop Common und HDFS als auch diverse Werkzeuge, die sich über das CDH4-Paketmanagement nachinstallieren lassen.

Hadoop Common und HDFS

Grundlage des neuen CDH4 ist Hadoop in Version 0.23.1, das der Apache-Version vom Februar diesen Jahres entspricht (aktueller Release-Stand bei Redaktionsschluss war 2.0.0-alpha). Ein Vorteil dieser Version ist ihre Kompatibilität zu vielen anderen Werkzeugen des Hadoop-Ökosystems wie HBase, Pig, Oozie und Hive. Gleichzeitig sind eine Reihe von Konfigurationseinstellungen älterer Versionen weggefallen, sodass die nötigen manuellen Handgriffe bei der Installation auf ein Minimum reduziert werden.

In den vergangenen Hadoop-Versionen war eine der kritischsten Schwachstellen der Architektur der Namenode-Daemon, der die gesamten Metadaten des verteilten Dateisystems HDFS verwaltet. Dabei führt er über jede Änderung des Dateisystems Buch und schreibt diese Änderungen erst in den Hauptspeicher und dann in ein lokales Dateisystem. Bei einem Ausfall des Namenode konnte unter Umständen das gesamte Dateisystem von Hadoop zerstört werden. Diesen Single-Point-Of-Failure (SPOF) behebt der HDFS-High-Availability-Patch.

Zuverlässiger

Dabei kann ein zweiter Rechner als redundante Namenode dienen, der im Fall eines Absturzes der ersten sofort einspringen kann. Hadoops Namenodes schreiben in regelmäßigen Abständen die durchgeführten Transaktionen in ein normales Dateisystem. Bei einer Hochverfügbarkeitskonfiguration müssen diese Daten auf ein SAN oder NAS geschrieben werden, damit der Fallback-Namenode die Chance hat, im Falle eines Ausfalls sofort auf die aktuellen Daten zuzugreifen. Diese Funktionalität lässt sich seit der zweiten Beta-Version auch nutzen, wenn für den Hadoop-Cluster die Kerberos-Authentifizierung eingestellt ist.

Um auf Hadoops Dateisystem von anderen Systemen aus zuzugreifen, wurde der wenig leistungsfähige, alte HDFS-Proxy durch die REST-basierte Server-Komponente HDFS over HTTP (HttpFS) und die WebHDFS-API ersetzt. Der HttpFS-Server stellt einen Gateway dar, der sämtliche Lese- und Schreiboperationen ausführt, die über HTTP-REST-Aufrufe initiiert werden können. Damit lässt sich Hadoops Dateisystem mit anderen Programmiersprachen als Java oder C oder mithilfe einfacher Kommandozeilen-Tools wie »curl« oder »wget« manipulieren. Zum Beispiel liest der folgende Curl-Aufruf eine Datei aus dem HDFS:

curl -i -L "http://Hostname:Port/webhdfs/v1/Pfad?op=OPEN[&offset=Wert][&length=Wert][&buffersize=Wert]"

Dabei kann der Anwender mit den optionalen Parametern »offset« , »length« und »buffersize« die Größe der zurückgegebenen Daten vorgeben.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019