Definition: YARN

YARN (Yet Another Resource Negotiator) ist eine Komponente von Hadoop, die für das Management von Ressourcen und die Planung von Aufgaben in einem Hadoop-Cluster verantwortlich ist.

YARN definiert folgende Rollen:

  • Clients:
    • Eine unbestimmte Zahl an Clients reicht Jobs für eine Anwendung ein, die auf dem YARN-Cluster läuft (bspw. MapReduce, Spark oder MPI).
  • Resource Manager (RM):
    • Hat Überblick über Auslastung von RAM, CPU, etc.
    • Weist den jeweiligen Anwendungen diese Ressourcen auf Anfrage zu.
  • Node Manager:
    • Jeder Node des Clusters kann eine Vielzahl an Containern ausführen.
    • Der Node Manager verwaltetet diese Container:
  • Application Master (AM):
    • Läuft innerhalb einer Node.
    • Gehört zu einer spezifischen Anwendung (bspw. Spark oder MapReduce).
    • Verhandelt mit dem Resource Manager über Ressourcen und führt Tasks der entsprechenden Anwendung aus.
  • Container:
    • Läuft innerhalb einer Node.
    • Hat fest zugeteilte Ressourcen (RAM, CPU, Netzwerk, Storage, …).
    • Führt Jobs/Tasks für einen Application Master aus.