Amazon DME est un service de Big Data proposé par AWS pour exécuter Apache Spark et d'autres applications open source sur AWS afin de créer des pipelines de données évolutifs de manière rentable. La surveillance des journaux générés à partir des tâches déployées sur les clusters EMR est essentielle pour aider à détecter les problèmes critiques en temps réel et à identifier rapidement les causes profondes.
Pousser ces journaux dans Amazon Cloud Watch vous permet de centraliser et de générer des informations exploitables à partir de vos journaux pour résoudre les problèmes opérationnels sans avoir besoin de provisionner des serveurs ou de gérer des logiciels. Vous pouvez commencer instantanément à écrire des requêtes avec des agrégations, des filtres et des expressions régulières. En outre, vous pouvez visualiser les données de séries chronologiques, explorer les événements de journal individuels et exporter les résultats des requêtes vers les tableaux de bord CloudWatch.
Pour ingérer des journaux persistants sur le Cloud de calcul élastique Amazon (Amazon EC2) d'un cluster EMR dans CloudWatch, vous pouvez utiliser le Agent CloudWatch. Cela fournit un moyen simple de transférer les journaux d'une instance EC2 vers CloudWatch.
L'agent CloudWatch est un progiciel qui s'exécute de manière autonome et continue sur vos serveurs. Vous pouvez installer et configurer l'agent CloudWatch pour collecter les journaux du système et des applications à partir des instances EC2, des hôtes sur site et des applications conteneurisées. CloudWatch traite et stocke les journaux collectés par l'agent CloudWatch, ce qui contribue en outre à la surveillance des performances et de l'intégrité de votre infrastructure et de vos applications.
Dans cet article, nous créons un cluster EMR et centralisons les journaux d'étape EMR des tâches dans CloudWatch. Cela vous permettra de gérer plus facilement votre cluster EMR, de résoudre les problèmes et de surveiller les performances. Cette solution est particulièrement utile si vous souhaitez utiliser CloudWatch pour collecter et visualiser des journaux, des métriques et des données d'événements en temps réel, rationalisant ainsi la maintenance de votre infrastructure et de vos applications.
Présentation de la solution
La solution présentée dans cet article est basée sur une configuration spécifique où le niveau de simultanéité de l'étape EMR est défini sur 1. Cela signifie qu'une seule étape est exécutée à la fois sur le cluster. Il est important de noter que si le niveau de simultanéité de l'étape EMR est défini sur une valeur supérieure à 1, la solution peut ne pas fonctionner comme prévu. Nous vous recommandons vivement de vérifier votre Concurrence des étapes EMR configuration avant d'implémenter la solution présentée dans cet article.
Le diagramme suivant illustre l'architecture de la solution.
Le workflow comprend les étapes suivantes:
- Les utilisateurs démarrent une tâche Apache Spark EMR, en créant une étape sur le cluster EMR. À l'aide d'Apache Spark, la charge de travail est répartie sur les différents nœuds du cluster EMR.
- Dans chaque nœud (instance EC2) du cluster, un agent CloudWatch surveille différents répertoires de journaux, capturant de nouvelles entrées dans les fichiers journaux et les transmettant à CloudWatch.
- Les utilisateurs peuvent afficher les journaux des étapes en accédant aux différents groupes de journaux à partir de la console CloudWatch. Les journaux d'étape écrits par Amazon EMR sont les suivants :
- contrôleur — Informations sur le traitement de l'étape. Si votre étape échoue lors du chargement, vous pouvez trouver la trace de la pile dans ce journal.
- stderr — Le canal d'erreur standard de Spark pendant qu'il traite l'étape.
- Stdout — Le canal de sortie standard de Spark pendant qu'il traite l'étape.
Nous fournissons un AWS CloudFormation modèle dans cet article comme guide général. Le modèle montre comment configurer un agent CloudWatch sur Amazon EMR pour transmettre les journaux Spark à CloudWatch. Vous pouvez l'examiner et le personnaliser selon vos besoins pour inclure vos configurations de sécurité Amazon EMR. Comme bonne pratique, nous vous recommandons d'inclure vos configurations de sécurité Amazon EMR dans le modèle pour chiffrer les données en transit.
Vous devez également savoir que certaines des ressources déployées par cette pile entraînent des coûts lorsqu'elles restent en cours d'utilisation.
Dans les sections suivantes, nous passons par les étapes suivantes :
- Créez et chargez le script d'amorçage sur un Service de stockage simple Amazon (Amazon S3) seau.
- Utilisez le modèle CloudFormation pour créer les ressources suivantes :
- Surveillez les journaux Spark sur la console CloudWatch.
Pré-requis
Ce message suppose que vous disposez des éléments suivants :
Créer et télécharger le script d'amorçage dans un compartiment S3
Pour plus d'informations, voir Téléchargement d'objets ainsi que Installation et exécution de l'agent CloudWatch sur vos serveurs.
Pour créer et télécharger le script d'amorçage, procédez comme suit :
- Créez un fichier local nommé
bootstrap_cloudwatch_agent.sh
avec le contenu suivant: - Sur la console Amazon S3, choisissez votre compartiment S3.
- Sur le Objets onglet, choisissez Téléchargement.
- Selectionnez Ajouter des fichiers, puis choisissez le script d'amorçage.
- Selectionnez Téléchargement, puis choisissez le nom du fichier :
bootstrap_cloudwatch_agent.sh
. - Selectionnez Copier l'URI S3. Nous utilisons cette valeur dans une étape ultérieure.
Provisionner des ressources avec le modèle CloudFormation
Selectionnez Lancer la pile pour lancer une pile CloudFormation dans votre compte et déployer le modèle :
Ce modèle crée un rôle IAM, un profil d'instance IAM, un paramètre Systems Manager et un cluster EMR. Le cluster démarre le Exemple d'application d'estimation Spark PI. Vous serez facturé pour les ressources AWS utilisées si vous créez une pile à partir de ce modèle.
L'assistant CloudFormation vous demandera de modifier ou de fournir ces paramètres :
- Type d'instance - L' type d'instance pour tous les groupes d'instances. La valeur par défaut est m4.xlarge.
- InstanceCountCore – Le nombre d'instances dans le groupe d'instances principal. La valeur par défaut est 2.
- EMRReaseLabel - L' Étiquette de version Amazon EMR vous voulez utiliser. La valeur par défaut est emr-6.9.0.
- BootstrapScriptChemin – Le chemin S3 du script d'amorçage de l'installation de votre agent CloudWatch que vous avez copié précédemment.
- Sous-réseau – Le sous-réseau EC2 où le cluster est lancé. Vous devez fournir ce paramètre.
- EC2KeyPairNameECXNUMXKeyPairName – Une paire de clés EC2 facultative pour la connexion aux nœuds de cluster, comme alternative à Session Manager.
Surveiller les flux de journaux
Une fois la pile CloudFormation déployée avec succès, sur la console CloudWatch, choisissez Groupes de journaux dans le volet de navigation. Filtrez ensuite les groupes de journaux par le préfixe /aws/emr/master
.
L'ID dans le groupe de journaux correspond à l'ID d'instance EC2 du nœud principal EMR. Si vous disposez de plusieurs clusters EMR, vous pouvez utiliser cet ID pour identifier un cluster EMR particulier, en fonction de l'ID de nœud principal.
Dans le groupe de journaux, vous trouverez les trois flux de journaux différents.
Les flux de journaux contiennent les informations suivantes :
- étape-stdout – Le canal de sortie standard de Spark pendant qu'il traite l'étape.
- pas à pas – Le canal d'erreur standard de Spark pendant qu'il traite l'étape.
- contrôleur pas à pas – Informations sur le traitement de l'étape. Si votre étape échoue lors du chargement, vous pouvez trouver la trace de la pile dans ce journal.
Nettoyer
Pour éviter des frais futurs sur votre compte, supprimez les ressources que vous avez créées dans cette procédure pas à pas. Le cluster EMR entraînera des frais tant que le cluster est actif, arrêtez-le lorsque vous avez terminé.
- Sur la console CloudFormation, dans le volet de navigation, choisissez Combos.
- Choisissez la pile que vous avez lancée (
EMR-CloudWatch-Demo
), Alors choisi Supprimer. - Vider le compartiment S3 vous avez créé.
- Supprimer le compartiment S3 vous avez créé.
Conclusion
Maintenant que vous avez terminé les étapes de cette procédure pas à pas, l'agent CloudWatch s'exécute sur vos hôtes de cluster et est configuré pour transmettre les journaux d'étape EMR à CloudWatch. Grâce à cette fonctionnalité, vous pouvez surveiller efficacement la santé et les performances de vos tâches Spark exécutées sur Amazon EMR, en détectant les problèmes critiques en temps réel et en identifiant rapidement les causes profondes.
Vous pouvez empaqueter et déployer cette solution via un modèle CloudFormation comme cet exemple de modèle, qui crée le rôle de profil d'instance IAM, le paramètre Systems Manager et le cluster EMR.
Pour aller plus loin, envisagez d'utiliser ces journaux dans les alarmes CloudWatch pour les alertes sur un filtre de métrique de groupe de journaux. Vous pouvez les rassembler avec d'autres alarmes dans un alarme composée ou configurer des actions d'alarme telles que l'envoi Service de notification simple d'Amazon (Amazon SNS) pour déclencher des processus événementiels tels que AWS Lambda fonctions.
À propos de l’auteur
Ennio Pastore est architecte de données senior au sein de l'équipe AWS Data Lab. Il est un passionné de tout ce qui touche aux nouvelles technologies qui ont un impact positif sur les entreprises et les moyens de subsistance en général. Ennio a plus de 10 ans d'expérience dans l'analyse de données. Il aide les entreprises à définir et à mettre en œuvre des plates-formes de données dans des secteurs tels que les télécommunications, la banque, les jeux, la vente au détail et les assurances.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://aws.amazon.com/blogs/big-data/push-amazon-emr-step-logs-from-amazon-ec2-instances-to-amazon-cloudwatch-logs/
- :est
- 1
- 10
- 100
- 9
- a
- Description
- accès
- Compte
- à travers
- actes
- infection
- ajout
- propos
- Agent
- alarme
- alertes
- Tous
- alternative
- Amazon
- Amazon EC2
- Amazon DME
- analytique
- ainsi que
- Apache
- Apache Spark
- Candidature
- applications
- architecture
- SONT
- AS
- At
- de manière autonome
- AWS
- Services bancaires
- basé
- BE
- before
- commencer
- LES MEILLEURS
- Big
- Big Data
- Bootstrap
- construire
- entreprises
- by
- CAN
- Capturer
- les causes
- Développement
- des charges
- Selectionnez
- Grappe
- recueillir
- Sociétés
- complet
- Complété
- calcul
- configuration
- Connecter les
- Considérer
- Console
- contenu
- continuellement
- Core
- correspond
- rentable
- Costs
- pourriez
- engendrent
- créée
- crée des
- La création
- critique
- personnaliser
- données
- Analyse de Donnée
- Réglage par défaut
- démontre
- déployer
- déployé
- déploie
- différent
- répertoires
- distribué
- down
- motivation
- chacun
- Plus tôt
- plus facilement
- echo
- de manière efficace
- permet
- passionné
- erreur
- essential
- Ether (ETH)
- événement
- événements
- peut
- exemple
- attendu
- Découvrez
- Exporter
- expressions
- échoue
- Fonctionnalité
- Déposez votre dernière attestation
- Fichiers
- une fonction filtre
- filtres
- Trouvez
- Abonnement
- suit
- Pour
- de
- fonctions
- plus
- avenir
- jeux
- Général
- généré
- Go
- plus grand
- Réservation de groupe
- Groupes
- guide
- Vous avez
- Santé
- aider
- utile
- aide
- très
- hôtes
- Comment
- How To
- HTML
- http
- HTTPS
- IAM
- ID
- identifier
- identifier
- Impact
- Mettre en oeuvre
- la mise en œuvre
- important
- in
- comprendre
- inclut
- Y compris
- individuel
- secteurs
- d'information
- Infrastructure
- installer
- installer
- instance
- Assurance
- Intelligence
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- Emploi
- Emplois
- jpg
- json
- laboratoire
- lancer
- lancé
- lance
- Niveau
- comme
- chargement
- locales
- Location
- facile
- faire
- gérer
- manager
- manière
- veux dire
- Métrique
- modifier
- Surveiller
- Stack monitoring
- PLUS
- plusieurs
- prénom
- Nommé
- Navigation
- nécessaire
- besoin
- Nouveauté
- Les nouvelles technologies
- next
- nœud
- nœuds
- déclaration
- Notifications
- nombre
- of
- présenté
- on
- ONE
- open source
- opérationnel
- Autre
- sortie
- paquet
- pain
- paramètre
- paramètres
- particulier
- particulièrement
- chemin
- performant
- Plateformes
- Platon
- Intelligence des données Platon
- PlatonDonnées
- positif
- Post
- pratique
- présenté
- primaire
- les process
- traitement
- Profil
- fournir
- fournit
- disposition
- Push
- Poussant
- vite.
- réal
- en temps réel
- recommander
- Standard
- en relation
- libérer
- rester
- Ressources
- Résultats
- détail
- Avis
- Rôle
- racine
- Courir
- pour le running
- évolutive
- les sections
- sécurité
- envoi
- supérieur
- Série
- service
- Session
- set
- devrait
- étapes
- So
- Logiciels
- sur mesure
- quelques
- Spark
- groupe de neurones
- empiler
- Standard
- Commencer
- Commencez
- départs
- étapes
- Étapes
- Arrêter
- storage
- STORES
- la rationalisation
- flux
- sous-réseau
- Avec succès
- tel
- Sudo
- combustion propre
- Système
- Prenez
- équipe
- Les technologies
- télécommunications
- modèle
- qui
- La
- Les
- Ces
- trois
- Avec
- fiable
- Des séries chronologiques
- à
- tracer
- déclencher
- utilisé
- Plus-value
- vérifier
- Voir
- walkthrough
- montres
- Façon..
- qui
- tout en
- sera
- avec
- sans
- Activités:
- workflow
- écriture
- code écrit
- yaml
- années
- Votre
- zéphyrnet