Gestion de la perte d'instances Spot dans Presto - 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.

Gestion de la perte d'instances Spot dans Presto

Avec les instances Spot d'AmazonEMR, vous pouvez exécuter des charges de travail de mégadonnées sur la EC2 capacité inutilisée d'Amazon à moindre coût. En échange d'une réduction des coûts, Amazon EC2 peut interrompre les instances Spot avec une notification de deux minutes. Lorsque vous résiliez un nœud, Presto peut prendre jusqu'à 10 minutes avant qu'il ne renvoie une erreur. Cela entraîne des retards inutiles dans les rapports d'erreur et les éventuelles nouvelles tentatives. La résiliation rapide est une fonctionnalité qui vous permet de contrôler la façon dont Presto gère les nœuds résiliés.

Le rôle du coordinateur Presto est de suivre tous les composants master en interrogeant régulièrement leur statut. Sans interruption rapide, le coordinateur ne consulte pas YARN NodeManager le statut de chaque nœud. Cela peut entraîner une longue boucle de nouvelles tentatives avant l'échec de la requête. En cas de résiliation rapide, le coordinateur Presto consulte l'état du nœud NodeManager dès que le sondage ne parvient pas à atteindre l'hôte. S' NodeManager il s'avère que le nœud est inactif, Presto abandonne toute nouvelle tentative, échoue à la requête et renvoie une erreur. NODE_DECOMMISSIONED

L'ensemble de paramètres de configuration suivant vous permet de contrôler et de personnaliser le comportement de Presto en cas de résiliation du nœud.

Configurations Presto pour la gestion des défaillances des nœuds
Paramètre Description Par défaut
query.remote-task.max-backoff-duration Durée pendant laquelle le coordinateur continue de tenter de récupérer l'état de la tâche distante à partir des composants master. 10 minutes
query.remote-task.quick-terminate-node-failure

Active la défaillance rapide du nœud si le coordinateur ne peut pas atteindre le nœud ou ne peut pas se connecter au travailleur qui s'exécute sur ce nœud. La valeur de query.remote-task.terminate-on-connect-exception détermine si le coordinateur doit atteindre le nœud ou se connecter au travailleur.

Le nœud échoue à la requête et Amazon le EMR supprime de la liste des travailleurs disponibles. Dans ce cas, vous ne pouvez pas utiliser le nœud pour planifier de nouvelles requêtes.

Lorsque vous définissez cette valeur sur false, Presto revient à son comportement précédent où le coordinateur Presto essaie à nouveau d'atteindre le nœud (pour query.remote-task.max-backoff-duration) avant de marquer le nœud comme indisponible et d'échouer à la requête en cours sur le nœud.

true
query.remote-task.terminate-on-connect-exception Spécifie si Amazon EMR doit créer un nœud si l'hôte est accessible mais que le coordinateur ne parvient pas à se connecter au processus de travail de l'hôte. Lorsque vous définissez cette valeur sur true, vous activez l'échec rapide de la requête si l'hôte est inaccessible. false