Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Erreurs d'entrée et de sortie du cluster lors des opérations Amazon EMR
Les erreurs suivantes sont courantes dans les opérations d'entrée et sortie de cluster. Suivez les instructions de cette rubrique pour résoudre les problèmes et vérifier votre configuration.
Rubriques
Essayez-vous de parcourir de façon récursive les répertoires d'entrée ?
Essayez-vous de spécifier une ressource à l'aide d'une URL HTTP ?
Référencez-vous un compartiment Amazon S3 à l'aide d'un format de nom non valide ?
Rencontrez-vous des difficultés lors du chargement des données vers ou depuis Amazon S3 ?
Votre chemin d'accès à Amazon Simple Storage Service (Amazon S3) comporte-t-il au moins trois barres obliques ?
Lorsque vous spécifiez un compartiment Amazon S3, vous devez inclure une barre oblique de terminaison à la fin de l'URL. Par exemple, au lieu de référencer un bucket comme « s3n : //amzn-s3-demo-bucket1 », vous devez utiliser « s3n : //amzn-s3-demo-bucket1/ », sinon Hadoop échouera dans votre cluster dans la plupart des cas.
Essayez-vous de parcourir de façon récursive les répertoires d'entrée ?
Hadoop ne recherche pas de façon récursive les fichiers dans les répertoires d'entrée. Si vous avez une structure de répertoire, ce répertoireas /corpus/01/01.txt, /corpus/01/02.txt, /corpus/02/01.txt, etc. and you specify /corpus/ as the input parameter to your cluster, Hadoop does not find any input files because the /corpus/est vide et Hadoop ne vérifie pas le contenu des sous-répertoires. De même, Hadoop ne vérifie pas de façon récursive les sous-répertoires des compartiments Amazon S3.
Les fichiers d'entrée doivent être directement dans le répertoire d'entrée ou le compartiment Amazon S3 que vous spécifiez, pas dans les sous-répertoires.
Votre répertoire de sortie existe-t-il déjà ?
Si vous spécifiez un chemin de sortie qui existe déjà, Hadoop entraîne dans la plupart des cas l'échec du cluster. Cela signifie que si vous exécutez un cluster une première fois, puis l'exécutez à nouveau avec exactement les mêmes paramètres, il fonctionnera probablement la première fois puis jamais plus. Après la première utilisation, le chemin de sortie existe et il entraîne l'échec de toutes les exécutions suivantes.
Essayez-vous de spécifier une ressource à l'aide d'une URL HTTP ?
Hadoop n'accepte pas les emplacements de ressources utilisant le préfixe http://. Vous ne pouvez pas faire référence à une ressource à l'aide d'une URL HTTP. Par exemple, transmettre http://mysite/myjar.jar comme paramètre JAR provoque l'échec du cluster.
Référencez-vous un compartiment Amazon S3 à l'aide d'un format de nom non valide ?
Si vous essayez d'utiliser un nom de bucket tel que « amzn-s3-demo-bucket1.1 » avec Amazon EMR, votre cluster échouera car Amazon EMR exige que les noms de bucket soient des noms d'hôte RFC 2396 valides ; le nom ne peut pas se terminer par un chiffre. En outre, en raison des exigences de Hadoop, les noms des compartiments Amazon S3 utilisés avec Amazon EMR doivent contenir uniquement des lettres minuscules, des chiffres, des points (.) et des traits d'union (-). Pour plus d'informations sur la manière de formater les noms des compartiments Amazon S3, consultez la section Restrictions et limitations des compartiments du Guide de l'utilisateur Amazon Simple Storage Service.
Rencontrez-vous des difficultés lors du chargement des données vers ou depuis Amazon S3 ?
Amazon S3 est la source d'entrée et de sortie la plus populaire pour Amazon EMR. Une erreur courante est de traiter Amazon S3 comme un système de fichiers standard. Il existe des différences entre Amazon S3 et un système de fichiers que vous devez prendre en compte lorsque vous exécutez votre cluster.
-
Si une erreur interne se produit dans Amazon S3, votre application doit gérer cela de façon appropriée et répéter l'opération.
-
Si des appels à Amazon S3 mettent trop longtemps à être retournés, votre application peut avoir besoin de réduire la fréquence à laquelle elle appelle Amazon S3.
-
Répertorier tous les objets figurant dans un compartiment Amazon S3 représente un appel onéreux. Votre application doit réduire au maximum ce nombre d'opérations.
Il existe plusieurs façons d'améliorer la façon dont votre cluster interagit avec Amazon S3.
-
Lancez votre cluster à l'aide de la dernière version d'Amazon EMR.
-
Utilisez S3 DistCp pour déplacer des objets dans et hors d'Amazon S3. S3 DistCp implémente la gestion des erreurs, les nouvelles tentatives et les interruptions pour répondre aux exigences d'Amazon S3. Pour plus d'informations, consultez la section Copie distribuée à l'aide de S3 DistCp.
-
Concevez votre application en gardant à l'esprit la cohérence à terme. Utilisez le système HDFS pour le stockage de données intermédiaires quand le cluster est en cours d'exécution et Amazon S3 uniquement pour entrer les données initiales et générer les résultats finaux.
-
Si vos clusters valident 200 transactions ou plus par seconde sur Amazon S3, contactez l'assistance
pour préparer votre compartiment à un plus grand nombre de transactions par seconde et envisagez d'utiliser les stratégies de partition clés décrites dans Conseils et astuces sur les performances d'Amazon S3 . -
Attribuez au paramètre de configuration Hadoop io.file.buffer.size la valeur 65536. Hadoop passe ainsi moins de temps à chercher dans les objets Amazon S3.
-
Envisagez de désactiver la fonctionnalité d'exécution spéculative de Hadoop si votre cluster connaît des problèmes de simultanéité avec Amazon S3. Cela s'avère utile également pour dépanner un cluster lent. Pour ce faire, définissez les propriétés
mapreduce.map.speculative
etmapreduce.reduce.speculative
surfalse
. Lorsque vous lancez un cluster, vous pouvez définir ces valeurs l'aide de la classification de configurationmapred-env
. Pour de plus amples informations, veuillez consulter Configuration des applications dans le guide de version Amazon EMR. -
Si vous exécutez un cluster Hive, consultez Rencontrez-vous des problèmes de chargement de données vers ou depuis Amazon S3 dans Hive ?.
Pour plus d'informations, consultez les meilleures pratiques relatives aux erreurs Amazon S3 dans le Guide de l'utilisateur d'Amazon Simple Storage Service.