Video: hadoop yarn architecture 2024
Im Gegensatz zu anderen YARN-Komponenten (noch anderer Ressourcenverhandler) wird keine Komponente in Hadoop 1 direkt auf die Anwendungsmaster. Im Wesentlichen ist dies eine Arbeit, die der JobTracker für jede Anwendung erledigt hat, aber die Implementierung ist radikal anders.
Jede Anwendung, die auf dem Hadoop-Cluster ausgeführt wird, verfügt über eine eigene dedizierte Application Master-Instanz, die in einem Containerprozess auf einem Slave-Knoten ausgeführt wird (im Vergleich zum JobTracker, einem einzigen Daemon, der auf einem Masterknoten ausgeführt und verfolgt wurde). der Fortschritt aller Anwendungen).
Während seiner gesamten Lebensdauer (z. B. während die Anwendung ausgeführt wird) sendet der Anwendungs-Master Heartbeat-Meldungen mit dem Status und dem Status der Ressourcenanforderungen der Anwendung an den Ressourcen-Manager. Basierend auf den Ergebnissen der Ressourcenplanung des Ressourcenmanagers weist er dem Anwendungsmaster auf spezifischen Slave-Knoten Container-Ressourcenleases - im Wesentlichen Reservierungen für die Ressourcencontainer - zu.
Der Application Master überwacht den gesamten Lebenszyklus einer Anwendung, angefangen bei der Anforderung der erforderlichen Container vom Resource Manager bis hin zum Übermitteln von Container-Lease-Anforderungen an den NodeManager.
Jedes Anwendungsframework, das für Hadoop geschrieben wurde, muss über eine eigene Application Master-Implementierung verfügen. MapReduce hat zum Beispiel einen bestimmten Application Master, der entworfen wurde, um Map-Aufgaben auszuführen und Aufgaben in der Reihenfolge zu reduzieren.