Considérations relatives à l'exécution de plusieurs étapes en parallèle - Amazon EMR

Considérations relatives à l'exécution de plusieurs étapes en parallèle

  • Les étapes exécutées en parallèle peuvent se terminer dans n'importe quel ordre, mais les étapes en attente passent à l'état d'exécution dans l'ordre dans lequel elles ont été soumises.

  • Lorsque vous sélectionnez un niveau de simultanéité d'étapes pour votre cluster, vous devez déterminer si le type d'instance de nœud primaire répond ou non aux exigences en matière de mémoire des charges de travail utilisateur. Le processus d'exécution de l'étape principale s'exécute sur le nœud primaire pour chaque étape. L'exécution de plusieurs étapes en parallèle nécessite plus de mémoire et d'utilisation de l'UC à partir du nœud primaire que l'exécution d'une étape à la fois.

  • Pour réaliser une planification complexe et une gestion des ressources d'étapes simultanées, vous pouvez utiliser des fonctions de planification YARN comme FairScheduler ou CapacityScheduler. Par exemple, vous pouvez utiliser FairScheduler avec un ensemble queueMaxAppsDefault pour empêcher l'exécution simultanée de plus qu'un certain nombre de tâches.

  • Le niveau de simultanéité des étapes est soumis aux configurations des gestionnaires de ressources. Par exemple, si YARN est configuré avec seulement 5 comme valeur de parallélisme, vous ne pouvez avoir que cinq applications YARN s'exécutant en parallèle, même si le paramètres StepConcurrencyLevel est défini sur 10. Pour plus d'informations sur la configuration des gestionnaires de ressources, consultez Configurer les applications dans le Guide de mise à jour Amazon EMR.

  • Vous ne pouvez pas ajouter une étape avec un ActionOnFailure autre que CONTINUE lorsque le niveau de simultanéité des étapes du cluster est supérieur à 1.

  • Si le niveau de simultanéité des étapes d'un cluster est supérieur à 1, la fonctionnalité d'étape ActionOnFailure ne sera pas activée.

  • Si un cluster possède un niveau de simultanéité d'étapes 1, mais comporte plusieurs étapes en cours d'exécution, il est possible que TERMINATE_CLUSTER ActionOnFailure s'active, mais pas CANCEL_AND_WAIT ActionOnFailure. Ce cas limite se présente lorsque le niveau de simultanéité des étapes du cluster était supérieur à 1, mais inférieur à 1 lorsque plusieurs étapes étaient en cours d'exécution.

  • Vous pouvez utiliser le dimensionnement automatique EMR pour effectuer une mise à l'échelle vers le haut ou le bas en fonction des ressources YARN afin d'éviter les conflits de ressources. Pour plus d'informations, consultez Utilisation de la mise à l'échelle automatique avec une politique personnalisée pour les groupes d'instances dans le Guide de gestion Amazon EMR.

  • Lorsque vous diminuez le niveau de simultanéité des étapes, EMR autorise les étapes en cours d'exécution à se terminer avant de réduire le nombre d'étapes. Si les ressources sont épuisées parce que le cluster exécute trop d'étapes simultanées, nous vous recommandons d'annuler manuellement des étapes en cours d'exécution pour libérer des ressources.