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.
Étape 6 : vérifier les paramètres de configuration du EMR cluster Amazon
Les paramètres de configuration spécifient les informations relatives à l'exécution d'un cluster, comme le nombre de nouvelles tentatives pour une tâche et la quantité de mémoire disponible pour le tri. Lorsque vous lancez un cluster à l'aide d'AmazonEMR, il existe EMR des paramètres spécifiques à Amazon en plus des paramètres de configuration Hadoop standard. Les paramètres de configuration sont stockés dans le nœud maître du cluster. Vous pouvez vérifier les paramètres de configuration pour vous assurer que votre cluster possède les ressources nécessaires pour s'exécuter de manière efficace.
Amazon EMR définit les paramètres de configuration Hadoop par défaut qu'il utilise pour lancer un cluster. Les valeurs sont basées sur le type AMI d'instance que vous spécifiez pour le cluster. Vous pouvez modifier les valeurs par défaut des paramètres de configuration à l'aide d'une action d'amorçage ou en spécifiant les nouvelles valeurs dans les paramètres de l'exécution des tâches. Pour de plus amples informations, veuillez consulter Créez des actions bootstrap pour installer des logiciels supplémentaires avec un cluster Amazon EMR. Pour déterminer si une action d'amorçage a modifié les paramètres de configuration, vérifiez les journaux des actions d'amorçage.
Amazon EMR enregistre les paramètres Hadoop utilisés pour exécuter chaque tâche. Les données du journal sont stockées dans un fichier job_
nommé dans le job-id
_conf.xml/mnt/var/log/hadoop/history/
répertoire du nœud principal, où job-id
est remplacé par l'identifiant de la tâche. Si vous avez activé l'archivage des journaux, ces données sont copiées sur Amazon S3 dans le logs/
dossier, où date
/jobflow-id
/jobsdate
est la date d'exécution de la tâche, et jobflow-id
est l'identifiant du cluster.
Les paramètres de configuration des tâches Hadoop suivants sont particulièrement utiles pour tenter de résoudre les problèmes de performances. Pour plus d'informations sur les paramètres de configuration Hadoop et leur impact sur le comportement de Hadoop, accédez à http://hadoop.apache.org/docs/
Avertissement
-
La
dfs.replication
valeur 1 sur les clusters de moins de quatre nœuds peut entraîner une perte de HDFS données en cas de panne d'un seul nœud. Nous vous recommandons d'utiliser un cluster comportant au moins quatre nœuds principaux pour les charges de travail de production. -
Amazon n'EMRautorisera pas les clusters à dimensionner les nœuds principaux situés en dessous
dfs.replication
. Par exemple, sidfs.replication = 2
, le nombre minimum de nœuds principaux est 2. -
Lorsque vous utilisez la mise à l'échelle gérée, autoscaling, ou que vous choisissez de redimensionner manuellement votre cluster, nous vous recommandons de définir
dfs.replication
sur une valeur supérieure ou égale à 2.
Paramètre de configuration | Description |
---|---|
dfs.replication | Nombre de HDFS nœuds vers lesquels un seul bloc (comme le bloc de disque dur) est copié afin de produire un RAID environnement similaire. Détermine le nombre de HDFS nœuds contenant une copie du bloc. |
io.sort.mb | Quantité totale de mémoire disponible pour le tri. Cette valeur doit être 10x io.sort.factor. Ce paramètre peut aussi être utilisé pour calculer la mémoire totale utilisée par chaque nœud de tâche, par l'opération io.sort.mb multiplié par mapred.tasktracker.ap.tasks.maximum. |
io.sort.spill.percent | Utilisé pendant le tri. Point auquel le disque commence à être utilisé car la mémoire allouée pour le tri est saturée. |
mapred.child.java.opts | Obsolète. Utiliser mapred.map.child.java.opts et mapred.reduce.child.java.opts à la place. Les options Java TaskTracker utilisées lors du lancement JVM d'une tâche à exécuter dans ce cadre. « -Xmx » est un paramètre courant pour définir la taille maximale de la mémoire. |
mapred.map.child.java.opts | Les options Java sont TaskTracker utilisées lors du lancement JVM d'une tâche cartographique à exécuter dans ce cadre. « -Xmx » est un paramètre courant pour définir la taille maximale du tas de la mémoire. |
mapred.map.tasks.speculative.execution | Détermine si les tentatives de tâches de mappage de la même tâche peuvent être lancées en parallèle. |
mapred.reduce.tasks.speculative.execution | Détermine si les tentatives de tâches de réduction de la même tâche peuvent être lancées en parallèle. |
mapred.map.max.Attempts | Nombre maximum de tentatives pour une tâche de mappage. Si toutes les tentatives échouent, la tâche de mappage est marquée comme ayant échoué. |
mapred.reduce.child.java.opts | Les options Java TaskTracker utilisées lors du lancement JVM d'une tâche de réduction à exécuter dans ce cadre. « -Xmx » est un paramètre courant pour définir la taille maximale du tas de la mémoire. |
mapred.reduce.max.attempts | Nombre maximum de tentatives pour une tâche de réduction. Si toutes les tentatives échouent, la tâche de mappage est marquée comme ayant échoué. |
mapred.reduce.slowstart.completed.maps | Quantité de tâches de mappage devant se terminer avant le lancement de tâches de réduction. Si vous n'attendez pas assez longtemps, vous risquez de provoquer des erreurs « trop d'échecs de recherche » dans les tentatives. |
mapred.reuse.jvm.num.tasks | Une tâche s'exécute en une seule opérationJVM. Spécifie le nombre de tâches qui peuvent être réutiliséesJVM. |
mapred.tasktracker.map.tasks.maximum | Quantité maximale de tâches qui peuvent s'exécuter en parallèle par nœud de tâches au cours du mappage. |
mapred.tasktracker.reduce.tasks.maximum | Quantité maximale de tâches qui peuvent s'exécuter en parallèle par nœud de tâches au cours de la réduction. |
Si vos tâches de cluster utilisent beaucoup de mémoire, vous pouvez améliorer les performances en utilisant un nombre inférieur de tâches par nœud principal et en réduisant la taille du tas de votre dispositif de suivi des travaux.