VCores-Total: Indicates the total number of VCores available in the cluster
Memory-Total: Indicates the total memory available in the cluster.
Per es. Ho un cluster a nodo singolo, in cui, ho impostato i requisiti di memoria per container: 1228 MB (determinati da config: yarn.scheduler.minimum-allocation-mb
) e vCores per contenitore a 1 vCore (determinato da config: yarn.scheduler.minimum-allocation-vcores
).
Ho impostato: yarn.nodemanager.resource.memory-mb
a 9830 MB. Quindi, ci possono essere totalmente 8 contenitori per nodo (9830/1228 = 8).
Quindi, per il mio gruppo:
VCores-Total = 1 (node) * 8 (containers) * 1 (vCore per container) = 8
Memory-Total = 1 (node) * 8 (containers) * 1228 MB (memory per container) = 9824 MB = 9.59375 GB = 9.6 GB
La figura seguente, mostra il mio metriche a grappolo:
Ora vediamo "MB-secondi" e "Vcore-secondi" . Secondo la descrizione nel codice (ApplicationResourceUsageReport.java):
MB-secondi: La quantità aggregato di memoria (in megabyte) la domanda è assegnato volte il numero di secondi l'applicazione è stata esecuzione.
vcore-secondi: il numero aggregato di vcore che l'applicazione ha assegnato per il numero di secondi in cui è stata eseguita l'applicazione.
La descrizione è auto-esplicativa (ricordare la parola chiave: Aggregato).
Lasciatemi spiegare questo con un esempio. ho fatto un lavoro DistCp (che ha generato 25 contenitori), per il quale ho ottenuto il seguente:
Aggregate Resource Allocation : 10361661 MB-seconds, 8424 vcore-seconds
Ora, facciamo qualche calcolo approssimativo di quanto tempo ogni contenitore ha preso:
For memory:
10361661 MB-seconds = 10361661/25 (containers)/1228 MB (memory per container) = 337.51 seconds = 5.62 minutes
For CPU
8424 vcore-seconds = 8424/25 (containers)/1 (vCore per container) = 336.96 seconds = 5.616 minutes
Questo indica in media, ogni contenitore ha impiegato 5,62 minuti per essere eseguito.
Spero che questo chiarisca. Puoi eseguire un lavoro e confermarlo tu stesso.
Grazie mille Manjunath. Era molto preciso e molto ben spiegato. – blackfury
come potrei ottenere il numero di contenitori presenti in ogni nodo e vcores assegnati per container ?? il nostro cluster ha un totale di 74 nodi. Potrei ottenere questi dettagli dai dettagli del cluster in http: // host: 8088/collegamento cluster. Ma non è stato possibile trovare altri dettagli – blackfury
È possibile ottenere il numero di contenitori per ciascun nodo utilizzando l'host: 8080/cluster/nodi /. Qui mostra i dettagli per ogni nodo –