Étape 6 : vérifier les paramètres de configuration du EMR cluster Amazon - Amazon EMR

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_job-id_conf.xml nommé dans le /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/date/jobflow-id/jobs dossier, où date 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
  1. 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.

  2. Amazon n'EMRautorisera pas les clusters à dimensionner les nœuds principaux situés en dessousdfs.replication. Par exemple, si dfs.replication = 2, le nombre minimum de nœuds principaux est 2.

  3. 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.