Que se passe-t-il lorsque le noeud de données utilisé par map/reduce diminue? Le travail ne devrait-il pas être redirigé vers un autre datanode? Comment mon code devrait-il gérer cette condition exceptionnelle?Comment gérer un datanode qui meurt pendant la map/reduce
Répondre
Si le datanode tombe en panne, les tâches s'exécutant sur ce nœud (en supposant que vous l'utilisiez également en tant que tasktracker) échoueront et ces tâches échouées seront assignées à d'autres tasktrackers pour une nouvelle exécution. Les blocs de données qui sont perdus dans le datanode mort seront disponibles dans d'autres datanodes car il y aura une réplication des données à travers le cluster. Donc, même si un datanode tombe en panne, il n'y aura pas de perte sauf pour un très court délai dans la ré-exécution des tâches échouées. Tout cela sera géré par le framework. Votre code ne doit pas s'inquiéter à ce sujet.
Cela dépend principalement de votre réplication HDFS. Si elle est supérieure à 1, le travail demandera un bloc qui n'est pas sur le serveur "abattu". S'il existe une réplication valide, elle sera transmise au travail et le travail pourra être réexécuté avec le nouveau bloc.
Comment mon code devrait-il gérer cette situation exceptionnelle?
Vous ne rencontrerez aucune exception de ce type, si tout le travail échoue. Dans ce cas, vous pouvez replanifier votre travail et espérer que le datanode remonte.
- 1. Comment obtenir le délai d'attente de datanode?
- 2. Android - Comment gérer Dialog pendant la rotation
- 3. Hadoop: Comment OutputCollector fonctionne-t-il pendant MapReduce?
- 4. curl_exec meurt avec l'erreur 500, pendant le téléchargement sur s3
- 5. Impossible d'ajouter un datanode à Hadoop
- 6. Comment gérer les erreurs pendant ClaimsAuthenticationManager.Authenticate
- 7. Comment gérer TransactionScope pendant le débogage?
- 8. Ubuntu: DataNode ne démarre pas
- 9. Script meurt si un module qui ne marche pas exister est utilisé pendant le tri() - DateTime :: TimeZone :: exemple local
- 10. AS3 - Comment gérer les ressources pendant la précharge
- 11. Comment gérer l'iPhone «Batterie faible» pop-up pendant un jeu
- 12. Comment gérer la configuration d'une application Web pendant l'exécution?
- 13. Gérer KeyDown pendant une glissade
- 14. Comment imprimer sur la console pendant l'exécution du travail MapReduce dans hadoop
- 15. Perl fil meurt après detach
- 16. Comment gérer les événements Adobe AIR InvokeEvent qui sont réexpédiés pendant l'exécution de mon programme?
- 17. Un script python multithread meurt en silence - comment déboguer
- 18. JFileChooser ne meurt pas?
- 19. Comment exécuter un travail mapreduce à distance
- 20. Un script bash qui regarderait 2 processus et quand un meurt tuerait l'autre
- 21. nœud principal hadoop nœud esclave datanode
- 22. Session meurt dans CodeIgniter
- 23. Comment surveiller MongoDB mapreduce?
- 24. System.Net.FtpWebRequest GetDateTimestamp appel meurt
- 25. EF Migrations - comment gérer pendant le développement et le déploiement?
- 26. Script Shell: Comment redémarrer un processus (avec pipe) s'il meurt
- 27. DataNode échouant dans Hadoop unique machine
- 28. service passe ensuite meurt
- 29. Service exécute puis meurt
- 30. Hadoop DataNode n'utilisera pas le serveur IPC distant adresse
Hmm ... Ma réplication est en fait 3 et j'ai descendu 2 datanodes au cours du test, mais ensuite je reçois ceci: INFO hdfs.DFSClient: Impossible d'obtenir le bloc blk_7178702856169522439_8519 à partir de n'importe quel noeud: java.io.IOException: Aucun nœud actif ne contient de bloc courant. – Meg
La réplication n'est donc pas entièrement terminée. –