Video: 032 Job Scheduling in MapReduce in hadoop 2025
A differenza di altri componenti YARN (Yet Another Resource Negotiator), nessun componente in Hadoop 1 viene mappato direttamente al Master dell'applicazione. In sostanza, questo è il lavoro svolto da JobTracker per ogni applicazione, ma l'implementazione è radicalmente diversa.
Ogni applicazione in esecuzione sul cluster Hadoop ha una propria istanza Application Master dedicata, che viene effettivamente eseguita in un processo contenitore su un nodo slave (rispetto a JobTracker, che era un singolo daemon che girava su un nodo master e monitorato il progresso di tutte le applicazioni).
Nel corso della sua vita (ad esempio, mentre l'applicazione è in esecuzione), l'Application Master invia messaggi di heartbeat al Resource Manager con il suo stato e lo stato delle esigenze delle risorse dell'applicazione. Sulla base dei risultati della pianificazione del Resource Manager, assegna leasing delle risorse del contenitore - fondamentalmente le prenotazioni per i contenitori delle risorse necessarie - al Master dell'applicazione su nodi slave specifici.
L'Application Master supervisiona l'intero ciclo di vita di un'applicazione, dal richiedere i contenitori necessari dal Resource Manager all'invio delle richieste di lease del contenitore al NodeManager.
Ogni framework di applicazione scritto per Hadoop deve avere la propria implementazione Application Master. MapReduce, ad esempio, ha uno specifico Application Master progettato per eseguire attività sulla mappa e ridurre le attività in sequenza.
