Dans l'article MapReduce de Google, ils ont une tâche de sauvegarde, je pense que c'est la même chose avec une tâche spéculative dans Hadoop. Comment la tâche spéculative est-elle mise en œuvre? Lorsque je lance une tâche spéculative, la tâche commence-t-elle dès le début comme étant la plus ancienne et lente, ou commence-t-elle simplement à partir de l'ancienne tâche (si oui, doit-elle copier tout le statut intermédiaire?)Hadoop exécution de la tâche spéculative
Répondre
Un problème avec le système Hadoop est qu'en divisant les tâches entre plusieurs nœuds, il est possible que quelques nœuds lents limitent le reste du programme.
Les tâches peuvent être lentes pour diverses raisons, notamment la dégradation du matériel ou une mauvaise configuration logicielle, mais les causes peuvent être difficiles à détecter car les tâches se terminent bien, mais après un délai plus long que prévu. Hadoop n'essaie pas de diagnostiquer et de réparer les tâches à exécution lente; à la place, il tente de détecter quand une tâche est exécutée plus lentement que prévu et lance une autre tâche équivalente en tant que sauvegarde. C'est ce qu'on appelle l'exécution spéculative de tâches. Par exemple, si un nœud a un contrôleur de disque lent, il peut lire son entrée à seulement 10% de la vitesse de tous les autres nœuds. Ainsi, lorsque 99 tâches cartographiques sont déjà terminées, le système attend toujours la fin de la tâche cartographique, ce qui prend beaucoup plus de temps que tous les autres nœuds.
En forçant des tâches à s'exécuter isolément les unes des autres, les tâches individuelles ne savent pas d'où proviennent leurs entrées. Les tâches font confiance à la plate-forme Hadoop pour fournir les informations appropriées. Par conséquent, la même entrée peut être traitée plusieurs fois en parallèle, afin d'exploiter les différences dans les capacités de la machine. Comme la plupart des tâches d'un travail arrivent à leur terme, la plateforme Hadoop planifie des copies redondantes des tâches restantes sur plusieurs nœuds qui n'ont pas d'autre travail à effectuer. Ce processus est connu sous le nom d'exécution spéculative. Lorsque les tâches sont terminées, ils annoncent ce fait au JobTracker. Quelle que soit la copie d'une tâche terminée en premier devient la copie définitive. Si d'autres copies s'exécutaient de manière spéculative, Hadoop dit aux TaskTrackers d'abandonner les tâches et de rejeter leurs sorties. Les Réducteurs reçoivent ensuite leurs entrées de n'importe quel Mappeur terminé avec succès, d'abord.
L'exécution spéculative est activée par défaut. Vous pouvez désactiver l'exécution spéculative pour les mappeurs et réducteurs en définissant les options mapred.map.tasks.speculative.execution
et mapred.reduce.tasks.speculative.execution
JobConf sur false, respectivement à l'aide de l'ancienne API, tandis qu'avec une API plus récente, vous pouvez envisager de modifier mapreduce.map.speculative
et mapreduce.reduce.speculative
. Donc, pour répondre à votre question, ça recommence et ça n'a rien à voir avec ce que l'autre tâche a fait/achevé.
Référence: http://developer.yahoo.com/hadoop/tutorial/module4.html
Je crois que 'mapreduce.map.speculative' et' mapreduce.reduce.speculative' sont les nouveaux équivalents de 'mapred.map.tasks.speculative.execution' et' mapred.reduce.tasks.speculative.execution', respectivement. –
- 1. Hadoop, exécution de tâches
- 2. Échec de la tâche Hadoop Streaming
- 3. Exécution de Hadoop Pi Exemple
- 4. Question spéculative HTML5: Voicechat?
- 5. Existe-t-il un moyen de configurer le délai d'attente pour l'exécution spéculative dans Hadoop?
- 6. multiples exécution de la tâche asynchrone
- 7. Exécution tâche JUnit Ant
- 8. Obtention de l'ID de la tentative de tâche pour la tâche Hadoop en cours d'exécution
- 9. Hadoop - exécution de plusieurs tâches Map
- 10. Exécution de Hadoop sous Windows 7
- 11. Exécution de l'index solr sur hadoop
- 12. Hadoop une seule machine exécute une tâche
- 13. comment ajouter maven classpath lors de la soumission tâche Hadoop à un nœud Hadoop
- 14. Webworks: Exécution d'une tâche répétée
- 15. comment tuer la tâche hadoop a commencé à utiliser la commande hadoop jar?
- 16. Exécution de la tâche Thor à partir de la migration
- 17. Exécution d'un travail Hadoop sans utiliser JobConf
- 18. Problème exécution MR programmes sur Hadoop d'Eclipse
- 19. Exécution de la tâche sur la machine distante
- 20. Exécution d'une tâche Gulp après la fin de la construction
- 21. Ces temps de configuration/nettoyage/exécution Hadoop sont-ils raisonnables?
- 22. Exécution de tâche planifiée .exe problème
- 23. Exécution de la tâche de déploiement en tant qu'utilisateurs différents
- 24. Rails3, exécution de la tâche rake à partir de cron
- 25. Les demandes concernant la carte-reduce exécution dans Hadoop
- 26. Exemple de fichier d'effets secondaires de tâche Hadoop
- 27. "Erreur irrécupérable: spawn EACCES" Exécution de la tâche "sass: dist"
- 28. Exécution d'un script npm à partir de la tâche gulp
- 29. Exécution de la même tâche SSIS via une route différente
- 30. Exécution de la tâche rake sur le démarrage d'Ubuntu
Ajoutant à la question, ce qui aurait été la liste des raisons si vous deviez désactiver l'exécution de la tâche spéculative tout à fait au niveau de l'ensemble du système? quels avantages ont été obtenus lorsque l'exécution spéculative a été désactivée. –