Afficher les interfaces utilisateur persistantes des applications dans Amazon EMR - 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.

Afficher les interfaces utilisateur persistantes des applications dans Amazon EMR

À partir de la version 5.25.0 d'Amazon EMR, vous pouvez vous connecter aux détails de l'application persistante de serveur d'historique Spark hébergée hors cluster à l'aide de la page Récapitulatif du cluster ou de l'onglet Interfaces utilisateur d'application de la console. Les interfaces d'application persistante de l'interface utilisateur Tez et du serveur de chronologie YARN sont disponibles à partir de la version 5.30.1 d'Amazon EMR. L'accès en un clic à un lien vers l'historique d'application persistante offre les avantages suivants :

  • Vous pouvez rapidement analyser et dépanner les tâches actives et l'historique des tâches sans configurer de proxy Web via une connexion SSH.

  • Vous pouvez accéder à l'historique de l'application et aux fichiers journaux pertinents pour les clusters actifs et hors service. Les journaux sont disponibles pendant 30 jours après la mise hors service de l'application.

Accédez aux détails de votre cluster dans la console, puis sélectionnez l’onglet Applications. Sélectionnez l’interface utilisateur de l’application souhaitée une fois votre cluster lancé. L’interface utilisateur de l’application s’ouvre dans un nouvel onglet de navigateur. Pour plus d'informations, consultez Surveillance et instrumentation.

Vous pouvez afficher les journaux de conteneur YARN via les liens sur le serveur d'historique Spark, le serveur de chronologie YARN et l'interface utilisateur Tez.

Note

Pour accéder aux journaux du conteneur YARN à partir du serveur d'historique Spark, du serveur de chronologie YARN et de l'interface utilisateur Tez, vous devez activer la journalisation sur Amazon S3 pour votre cluster. Si vous n’activez pas la journalisation, les liens vers les journaux de conteneur YARN ne fonctionneront pas.

Collecte des journaux

Pour activer l'accès en un clic aux interfaces utilisateur d'application persistante, Amazon EMR collecte deux types de journaux :

  • Les journaux d'événements d'application, collectés dans un compartiment système EMR. Les journaux d'événements sont chiffrés au repos à l'aide du chiffrement côté serveur avec des clés gérées Amazon S3 (SSE-S3). Si vous utilisez un sous-réseau privé pour votre cluster, assurez-vous d'inclure le compartiment système approprié ARNs dans la liste des ressources de la politique Amazon S3 pour le sous-réseau privé. Pour plus d'informations, consultez Politique Amazon S3 minimale pour un sous-réseau privé.

  • Les journaux de conteneur YARN sont collectés dans un compartiment Amazon S3 que vous possédez. Vous devez activer la journalisation pour votre cluster pour accéder aux journaux de conteneur YARN. Pour plus d'informations, consultez Configuration de la journalisation et du débogage de cluster.

Si vous devez désactiver cette fonctionnalité pour des raisons de confidentialité, vous pouvez arrêter le démon à l'aide d'un script d'amorçage lorsque vous créez un cluster, comme l'illustre l'exemple suivant.

aws emr create-cluster --name "Stop Application UI Support" --release-label emr-7.7.0 \ --applications Name=Hadoop Name=Spark --ec2-attributes KeyName=<myEMRKeyPairName> \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=CORE,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=TASK,InstanceCount=1,InstanceType=m3.xlarge \ --use-default-roles --bootstrap-actions Path=s3://region.elasticmapreduce/bootstrap-actions/run-if,Args=["instance.isMaster=true","echo Stop Application UI | sudo tee /etc/apppusher/run-apppusher; sudo systemctl stop apppusher || exit 0"]

Après l'exécution de ce script d'amorçage, Amazon EMR ne collectera pas de journaux d'événements de serveur d'historique Spark ou de serveur de chronologie YARN dans le compartiment système EMR. Aucune information sur l'historique d'application ne sera disponible dans l'onglet Application user interfaces (Interfaces utilisateur d'application) et vous perdrez l'accès à toutes les interfaces utilisateur d'application à partir de la console.

Fichiers journaux d'événements Spark volumineux

Dans certains cas, les tâches Spark de longue durée, telles que le streaming Spark, et les tâches volumineuses, telles que les requêtes SQL Spark, peuvent générer des journaux d'événements volumineux. Les journaux d'événements volumineux vous permettent d'utiliser rapidement de l'espace disque sur les instances de calcul et de rencontrer OutOfMemory des erreurs lorsque vous chargez Persistent UIs. Pour éviter ces problèmes, nous vous recommandons d'activer la fonctionnalité de roulement et de compactage du journal des événements de Spark. Cette fonctionnalité est disponible sur Amazon EMR versions emr-6.1.0 et ultérieures. Pour plus de détails sur le laminage et le compactage, consultez Appliquer le compactage aux fichiers journaux des événements de propagation dans la documentation de Spark.

Pour activer la fonctionnalité de propagation et de compactage du journal des événements Spark, activez les paramètres de configuration Spark suivants.

  • spark.eventLog.rolling.enabled : Active la propagation du journal des événements en fonction de la taille. Ce paramètre est désactivé par défaut.

  • spark.eventLog.rolling.maxFileSize : Lorsque la propagation est activée, spécifie la taille maximale du fichier journal des événements avant qu'il ne soit reporté. La valeur par défaut est 128 Mo.

  • spark.history.fs.eventLog.rolling.maxFilesToRetain : Spécifie le nombre maximal de fichiers journaux d'événements non compactés à retenir. Par défaut, tous les fichiers journaux d'événements sont retenus. Réglez sur une valeur inférieure pour compacter les anciens journaux d'événements. La valeur la plus faible est 1.

Notez que le compactage tente d'exclure les événements dont les fichiers journaux d'événements sont obsolètes, tels que les suivants. S'il supprime des événements, vous ne les verrez plus dans l'interface utilisateur du serveur d'historique Spark.

  • Événements relatifs aux tâches terminées et événements liés à une étape ou à une tâche.

  • Événements pour les exécuteurs suspendus.

  • Événements relatifs aux requêtes SQL terminées et aux événements relatifs aux tâches, aux étapes et aux tâches connexes.

Lancer un cluster avec la propagation et le compactage activés
  1. Créez un fichier spark-configuration.json avec la configuration suivante.

    [ { "Classification": "spark-defaults", "Properties": { "spark.eventLog.rolling.enabled": true, "spark.history.fs.eventLog.rolling.maxFilesToRetain": 1 } } ]
  2. Créez votre cluster avec la configuration de compactage par propagation de Spark comme suit.

    aws emr create-cluster \ --release-label emr-6.6.0 \ --instance-type m4.large \ --instance-count 2 \ --use-default-roles \ --configurations file://spark-configuration.json

Considérations et restrictions

L'accès en un clic aux interfaces utilisateur d'application persistante présente actuellement les limitations suivantes :

  • Il y aura un délai d'au moins deux minutes lorsque les détails de l'application apparaîtront dans l'interface utilisateur du serveur d'historique Spark.

  • Cette fonction est opérationnelle uniquement lorsque le répertoire de journal d'événements pour l'application est dans le système de fichiers HDFS. Par défaut, Amazon EMR stocke les journaux d'événements dans un répertoire du système de fichiers HDFS. Si vous modifiez le répertoire par défaut en un système de fichiers différent, par exemple Amazon S3, cette fonctionnalité ne fonctionnera pas.

  • Cette fonction n'est actuellement pas disponible pour les clusters EMR avec plusieurs nœuds principaux ou pour les clusters EMR intégrés à AWS Lake Formation.

  • Pour activer l'accès en un clic aux interfaces utilisateur d'application persistante, vous devez disposer des autorisations requises sur l'action DescribeCluster pour Amazon EMR. Si vous refusez d'accorder l'autorisation nécessaire à l'exécution de cette action à un mandataire IAM, la propagation de la modification d'autorisation prend environ cinq minutes.

  • Si vous reconfigurez des applications dans un cluster en cours d'exécution, l'historique de l'application ne sera pas disponible via l'interface utilisateur de l'application.

  • Pour chaque application Compte AWS, la limite par défaut pour les applications actives UIs est de 200.

  • Dans ce qui suit Régions AWS, vous pouvez accéder à l'application UIs depuis la console avec Amazon EMR 6.14.0 ou version ultérieure :

    • Asie-Pacifique (Jakarta) (ap-southeast-3)

    • Europe (Espagne) (eu-south-2)

    • Asie-Pacifique (Melbourne) (ap-southeast-4)

    • Israël (Tel Aviv) (il-central-1)

    • Moyen-Orient (Émirats arabes unis) (me-central-1)

  • Dans ce qui suit Régions AWS, vous pouvez accéder à l'application UIs depuis la console avec Amazon EMR 5.25.0 ou version ultérieure :

    • USA Est (Virginie du Nord) (us-east-1)

    • USA Ouest (Oregon) (us-west-2)

    • Asie-Pacifique (Mumbai) (ap-south-1)

    • Asie-Pacifique (Séoul) (ap-northeast-2)

    • Asie-Pacifique (Singapour) (ap-southeast-1)

    • Asie-Pacifique (Sydney) (ap-southeast-2)

    • Asie-Pacifique (Tokyo) (ap-northeast-1)

    • Canada (Centre) (ca-central-1)

    • Amérique du Sud (São Paulo) (sa-east-1)

    • Europe (Francfort) (eu-central-1)

    • Europe (Irlande) (eu-west-1)

    • Europe (Londres) (eu-west-2)

    • Europe (Paris) (eu-west-3)

    • Europe (Stockholm) (eu-north-1)

    • Chine (Beijing) cn-north-1

    • Chine (Ningxia) cn-northwest-1