1

Salut, je suis juste venu avec une tâche étrange:Amazon EMR MapReduce restauration rollback?

Je lance un travail java-MapReduce avec EMR.

Les données étaient d'environ 1T et j'ai utilisé 1 maître + 8 esclaves.

Toutes les instances sont r2.2xlarge.

Dans un premier temps, tout semble bien comme ci-dessous:

INFO mapreduce.Job: map 0% reduce 0% 
INFO mapreduce.Job: map 1% reduce 0% 
INFO mapreduce.Job: map 2% reduce 0% 
INFO mapreduce.Job: map 3% reduce 0% 
INFO mapreduce.Job: map 4% reduce 0% 
INFO mapreduce.Job: map 5% reduce 0% 
INFO mapreduce.Job: map 6% reduce 0% 
INFO mapreduce.Job: map 7% reduce 0% 

...

Cependant, je viens de remarquer que les progrès se faire reculer (chute de 7% comme à 1%).

INFO mapreduce.Job: map 4% reduce 0% 
INFO mapreduce.Job: map 5% reduce 0% 
INFO mapreduce.Job: map 6% reduce 0% 
INFO mapreduce.Job: map 7% reduce 0% 
INFO mapreduce.Job: map 6% reduce 0% 
INFO mapreduce.Job: map 5% reduce 0% 
INFO mapreduce.Job: map 4% reduce 0% 
INFO mapreduce.Job: map 3% reduce 0% 

....

Quand je test comme les données 3G, le résultat est juste et le processus est bien passé et il n'y a pas cette situation se présente.

Quelqu'un pourrait-il me dire pourquoi cette situation s'est produite?

Meilleur.

Répondre

1

L'avancement du travail affiché est l'état unifié des tâches terminées et en cours du travail, tel que rapporté par les NodeManagers.

L'inversion de la progression du travail indique que le NodeManager s'est bloqué ou qu'il envoie très rarement des pulsations et des états de tâche au ResourceManager. Dans les deux cas, RM le considère comme un échec NM et annule toute la progression de la tâche signalée par le NM pour le travail incomplet particulier. Les tâches terminées avec succès et celles exécutées avant le crash doivent être réexécutées par ApplicationMaster. Ainsi, la contribution apportée par le NM défaillant à la progression du travail devient invalide et la progression du travail est recalculée.

Ici, le volume d'entrée étant important peut entraîner des erreurs de MOO ou des délais d'attente de tâche. Par défaut, mapreduce.task.timeout est de 600ms (10 minutes). Si la tâche n'indique aucun progrès dans le délai imparti, la tâche échouera. Les échecs multiples (3 par défaut) pour un seul travail feraient une liste noire du NM et la progression serait recalculée. Les journaux Nodemanager fourniraient plus de clarté.

+1

Salut @franklinsijo, enfin, je réinitialise la carte et réduit la mémoire pour surmonter ce genre de situation. –