Drahtlose Netzwerke sind überall: Zu Hause, im Café und in der Firma. Im Gegensatz zu Kabelnetzen verliert der Admin bei WLANs allerdings schnell die ... (mehr)

HDFS2

HDFS galt schon immer als zuverlässig. Im Einsatz bei Yahoo auf 20 000 Knoten in zehn Clustern ließ sich der Verlust von nur 650 verlorenen Datenblöcken von insgesamt 329 Millionen auf HDFS-Fehler zurückführen. Das war 2009. Seither hat die Apache Foundation an der Zuverlässigkeit von HDFS intensiv gefeilt.

Trotz seiner Zuverlässigkeit hatte HDFS in Hadoop v1 einen klaren Single-Point-of-Failure: den Namenknoten (NameNode), die Schaltzentrale zum Verwalten von Zugriffen auf Daten mithilfe von Metadaten. Zwar waren NameNodes redundant ausgelegt, jedoch ließen sie sich nur in einer Aktiv/Passiv-Node-Architektur betreiben. Beim Ausfall eines aktiven Namenknotens musste der Administrator die Konfiguration manuell anpassen. So konnte der Ausfall eines Namenknotens das ganze HDFS zum Erliegen bringen; aktuell laufende Schreibprozesse sowie Jobs in der Warteschlange wurden mit einer Fehlermeldung abgebrochen.

Die Implementierung geschäftskritischer Workloads, die interaktiv in Echtzeit ablaufen müssen, war dadurch sehr problematisch.

Die Hadoop-Entwickler haben sich des Problems angenommen und sich eine Lösung einfallen lassen: den Hochverfügbarkeits-Namenknoten (HA-Namenknoten). Der HA-Namenknoten wartet auf der sprichwörtlichen Reservebank und kann bei Bedarf für den aktiven Namenknoten einspringen. In Hadoop 2.0 lässt sich dieser sogenannte Failover dennoch nur durch einen manuellen Eingriff durch den Hadoop-Administrator auslösen.

In Hadoop 1.0 war zusätzlich zu einem Namenknoten ein weiterer Knoten vorgesehen, der ihm sprichwörtlich über die Schultern schaute. Jetzt fällt diese Aufgabe dem HA-Namenknoten zu.

HDFS-Federation

Um den Namendienst horizontal zu skalieren, nutzt Hadoop 2.2.0 Federation mit mehreren völlig unabhängigen Namenknoten und Namensräumen. Die Namenknoten sind unabhängig, indem sie ihre Arbeit nicht koordinieren. Alle Namenknoten greifen unabhängig voneinander auf eine gemeinsame Sammlung von Datenknoten zu. Jeder dieser Datenknoten registriert sich bei allen Namenknoten des eigenen Clusters, sendet periodisch ein Heartbeat-Signal sowie Block-Berichte und nimmt Befehle entgegen. Eine Implementierung von Symlinks war zwar für diese Version geplant, wurde jedoch in der letzten Minute gestrichen.

Ähnliche Artikel

comments powered by Disqus
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

Ausgabe /2023