4
votes

Comportement de mise à l'échelle automatique EMR avec plusieurs règles de montée en charge sur les nœuds de tâche

J'ai deux règles de Scale-out:

Scale-out-rule-1: ajoutez une instance 1 si YARNMemoryAvailablePercentage est inférieur à 15 pendant 1 cinq minutes avec un temps de recharge de 300 secondes.

Scale-out-rule-2: ajoutez une instance 5 si ContainerPendingRatio est supérieur à 0,75 pendant 1 cinq minutes avec un temps de recharge de 300 secondes.

Ici, si les deux scénarios correspondent,

  1. traite-t-il les deux règles? Une commande?
  2. si la seule règle traitée, alors laquelle et pourquoi?

Appréciez les commentaires sur un scanario similaire pour l'échelle en (réduction de l'échelle du cluster).


0 commentaires

3 Réponses :


-2
votes

Je ne pense pas qu'il soit possible qu'une telle chose n'existe pas dans la documentation Amazon.


0 commentaires

4
votes

Q 1) traite-t-il les deux règles? aucun ordre?

Une seule règle sera traitée lorsque les deux règles seront déclenchées en même temps, EC2 Auto Scaling choisit la stratégie qui fournit la plus grande capacité. Dans votre cas, "Scale-out-rule-2" sera traité car il ajoute 5 instances et "Scale-out-rule-1" sera suspendu.

Référence: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html#multiple-scaling-policy-resolution

Q 2) si la seule règle traitée, alors laquelle et pourquoi?

Expliqué ci-dessus


0 commentaires

1
votes

Je voudrais partager ma découverte que j'ai apprise

=== Deux règles ====

  • Règle de mise à l'échelle 1: Ajoutez 1 instance si YARNMemoryAvailablePercentage est <15 pour 1 période de cinq minutes avec un temps de recharge de 300 secondes.

  • Règle de mise à l'échelle 2: Ajoutez 5 instances si ContainerPendingRatio est> 0,75 pendant 1 période de cinq minutes avec un temps de recharge de 300 secondes.

Le cluster EMR utilise en interne "Amazon EC2 Auto Scaling" car le groupe d'instances EMR est également un groupe avec un parc d'instances EC2.

[1] https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html

Par conséquent, son comportement de mise à l'échelle / d'entrée suit celui de "Amazon EC2 Auto Scaling". Selon le document [2], lorsque ces situations se produisent, Amazon EC2 Auto Scaling (attaché au groupe d'instances EMR) choisit la stratégie qui fournit la plus grande capacité à la fois pour la montée en charge et la mise à l'échelle. Dans ce cas, la règle «ContainerPendingRatio» sera déclenché car il ajoute 5 instances. Vous pouvez trouver plus de détails / raison dans le doc [2]

[2] Stratégies de mise à l'échelle multiples https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html#multiple-scaling-policy-resolution

J'ai fait des expériences après avoir créé le cluster EMR dans mon compte et je vois le même résultat que prévu.

J'espère que cela vous aidera.


2 commentaires

merci pour la réponse, des pensées sur scale-in avec des scénarios similaires?


C'est pareil. Fondamentalement, il choisit de traiter la règle qui profite à AWS.