Amazon EMR is een big data-service aangeboden door AWS om Apache Spark en andere open-source applicaties op AWS uit te voeren om op een kosteneffectieve manier schaalbare datapijplijnen te bouwen. Het monitoren van de logboeken die worden gegenereerd door de taken die op EMR-clusters worden ingezet, is van essentieel belang om kritieke problemen in realtime op te sporen en de hoofdoorzaken snel te identificeren.
Die logs erin duwen Amazon Cloud Watch stelt u in staat om bruikbare informatie uit uw logboeken te centraliseren en aan te sturen om operationele problemen aan te pakken zonder dat u servers hoeft in te richten of software hoeft te beheren. U kunt direct beginnen met het schrijven van query's met aggregaties, filters en reguliere expressies. Daarnaast kunt u tijdreeksgegevens visualiseren, inzoomen op individuele logboekgebeurtenissen en queryresultaten exporteren naar CloudWatch-dashboards.
Om logboeken op te nemen die blijven bestaan op het Amazon Elastic Compute-cloud (Amazon EC2) instanties van een EMR-cluster in CloudWatch, kunt u de CloudWatch-agent. Dit biedt een eenvoudige manier om logboeken van een EC2-instantie naar CloudWatch te pushen.
De CloudWatch agent is een softwarepakket dat autonoom en continu op uw servers draait. U kunt de CloudWatch-agent installeren en configureren om systeem- en toepassingslogboeken te verzamelen van EC2-instanties, lokale hosts en gecontaineriseerde toepassingen. CloudWatch verwerkt en slaat de logboeken op die door de CloudWatch-agent zijn verzameld, wat verder helpt bij de prestatie- en gezondheidsbewaking van uw infrastructuur en applicaties.
In dit bericht maken we een EMR-cluster en centraliseren we de EMR-stappenlogboeken van de vacatures in CloudWatch. Dit maakt het gemakkelijker voor u om uw EMR-cluster te beheren, problemen op te lossen en de prestaties te bewaken. Deze oplossing is met name handig als u CloudWatch wilt gebruiken om real-time logs, statistieken en gebeurtenisgegevens te verzamelen en te visualiseren, waardoor uw infrastructuur en applicatie-onderhoud worden gestroomlijnd.
Overzicht van de oplossing
De oplossing die in dit bericht wordt gepresenteerd, is gebaseerd op een specifieke configuratie waarbij het gelijktijdigheidsniveau van de EMR-stap is ingesteld op 1. Dit betekent dat er slechts één stap tegelijk op het cluster wordt uitgevoerd. Het is belangrijk op te merken dat als het gelijktijdigheidsniveau van de EMR-stap is ingesteld op een waarde groter dan 1, de oplossing mogelijk niet werkt zoals verwacht. We raden u ten zeerste aan uw te verifiëren EMR stap gelijktijdigheid configuratie voordat u de oplossing implementeert die in dit bericht wordt gepresenteerd.
Het volgende diagram illustreert de oplossingsarchitectuur.
De workflow omvat de volgende stappen:
- Gebruikers starten een Apache Spark EMR-taak en maken een stap op het EMR-cluster. Met behulp van Apache Spark wordt de werklast verdeeld over de verschillende nodes van het EMR-cluster.
- In elk knooppunt (EC2-exemplaar) van het cluster bekijkt een CloudWatch-agent verschillende logdirectory's, legt nieuwe ingangen in de logbestanden vast en pusht ze naar CloudWatch.
- Gebruikers kunnen de staplogboeken bekijken door toegang te krijgen tot de verschillende logboekgroepen vanuit de CloudWatch-console. De stappenlogboeken die zijn geschreven door Amazon EMR zijn als volgt:
- controleur — Informatie over de verwerking van de stap. Als uw stap mislukt tijdens het laden, kunt u de stacktrace in dit logboek vinden.
- stderr — Het standaardfoutkanaal van Spark tijdens het verwerken van de stap.
- stdout — Het standaard uitvoerkanaal van Spark terwijl het de stap verwerkt.
Wij bieden een AWS CloudFormatie sjabloon in dit bericht als algemene leidraad. De sjabloon laat zien hoe een CloudWatch-agent op Amazon EMR moet worden geconfigureerd om Spark-logboeken naar CloudWatch te pushen. U kunt het bekijken en indien nodig aanpassen om uw Amazon EMR-beveiligingsconfiguraties op te nemen. Als best practice raden we aan om uw Amazon EMR-beveiligingsconfiguraties in de sjabloon op te nemen gegevens in transit versleutelen.
Houd er ook rekening mee dat sommige van de resources die door deze stack worden ingezet, kosten met zich meebrengen wanneer ze in gebruik blijven.
In de volgende paragrafen doorlopen we de volgende stappen:
- Maak en upload het bootstrap-script naar een Amazon eenvoudige opslagservice (Amazon S3) emmer.
- Gebruik de CloudFormation-sjabloon om de volgende bronnen te maken:
- Bewaak de Spark-logboeken op de CloudWatch-console.
Voorwaarden
Dit bericht gaat ervan uit dat je het volgende hebt:
Maak en upload het bootstrap-script naar een S3-bucket
Voor meer informatie, zie Objecten uploaden en De CloudWatch-agent op uw servers installeren en uitvoeren.
Voer de volgende stappen uit om het bootstrap-script te maken en te uploaden:
- Maak een lokaal bestand met de naam
bootstrap_cloudwatch_agent.sh
met de volgende inhoud: - Kies op de Amazon S3-console uw S3-bucket.
- Op de Objecten tabblad, kies Uploaden.
- Kies Bestanden toevoegenen kies vervolgens het bootstrap-script.
- Kies Uploadenen kies vervolgens de bestandsnaam:
bootstrap_cloudwatch_agent.sh
. - Kies Kopieer de S3-URI. We gebruiken deze waarde in een latere stap.
Richt bronnen in met de CloudFormation-sjabloon
Kies Start Stack om een CloudFormation-stack in uw account te starten en de sjabloon te implementeren:
Deze sjabloon maakt een IAM-rol, IAM-instantieprofiel, Systems Manager-parameter en EMR-cluster aan. Het cluster start de Spark PI-schattingsvoorbeeldtoepassing. U wordt gefactureerd voor de gebruikte AWS-bronnen als u een stapel maakt op basis van deze sjabloon.
De CloudFormation-wizard zal u vragen om deze parameters te wijzigen of op te geven:
- instantietype - The type instantie voor alle instantiegroepen. De standaardwaarde is m4.xlarge.
- InstanceCountCore – Het aantal instanties in de kerninstantiegroep. De standaardwaarde is 2.
- EMRReaseLabel - The EMR-vrijgavelabel van Amazon u wilt gebruiken. De standaardwaarde is emr-6.9.0.
- BootstrapScriptPath – Het S3-pad van uw CloudWatch-agentinstallatie-bootstrapscript dat u eerder hebt gekopieerd.
- subnet – Het EC2-subnet waar het cluster wordt gestart. U moet deze parameter opgeven.
- EC2KeyPairNaam – Een optioneel EC2-sleutelpaar voor verbinding met clusterknooppunten, als alternatief voor Session Manager.
Bewaak de logstreams
Nadat de CloudFormation-stack met succes is geïmplementeerd, kiest u op de CloudWatch-console Log groepen in het navigatievenster. Filter vervolgens de logboekgroepen op voorvoegsel /aws/emr/master
.
De ID in de logboekgroep komt overeen met de EC2-instantie-ID van het primaire EMR-knooppunt. Als u meerdere EMR-clusters heeft, kunt u deze ID gebruiken om een bepaald EMR-cluster te identificeren op basis van de primaire node-ID.
In de loggroep vindt u de drie verschillende logstreams.
De logstreams bevatten de volgende informatie:
- stap-standaard – Het standaard uitvoerkanaal van Spark terwijl het de stap verwerkt.
- stap-stderr – Het standaardfoutkanaal van Spark terwijl het de stap verwerkt.
- stappenregelaar – Informatie over de verwerking van de stap. Als uw stap mislukt tijdens het laden, kunt u de stacktrace in dit logboek vinden.
Opruimen
Verwijder de resources die u in deze walkthrough heeft gemaakt om toekomstige kosten in uw account te voorkomen. Er worden kosten in rekening gebracht voor het EMR-cluster zolang het cluster actief is, dus stop het als u klaar bent.
- Kies op de CloudFormation-console in het navigatievenster Stacks.
- Kies de stapel die je hebt gelanceerd (
EMR-CloudWatch-Demo
), kies dan Verwijder. - Maak de S3-emmer leeg jij hebt gemaakt.
- Verwijder de S3-bucket jij hebt gemaakt.
Conclusie
Nu u de stappen in deze walkthrough hebt voltooid, draait de CloudWatch-agent op uw clusterhosts en is deze geconfigureerd om EMR-stappenlogboeken naar CloudWatch te pushen. Met deze functie kunt u de gezondheid en prestaties van uw Spark-taken die op Amazon EMR worden uitgevoerd, effectief bewaken, kritieke problemen in realtime detecteren en snel onderliggende oorzaken identificeren.
U kunt deze oplossing verpakken en implementeren via een CloudFormation-sjabloon zoals deze voorbeeldsjabloon, waarmee de IAM-instantieprofielrol, de Systems Manager-parameter en het EMR-cluster worden gemaakt.
Om verder te gaan, kunt u overwegen om deze logboeken in CloudWatch-alarmen te gebruiken voor waarschuwingen op een log groep-metrisch filter. Je zou ze kunnen verzamelen met andere alarmen in een samengesteld alarm of configureer alarmacties zoals verzenden Amazon eenvoudige meldingsservice (Amazon SNS) meldingen om gebeurtenisgestuurde processen te activeren, zoals AWS Lambda functies.
Over de auteur
Ennio Pastore is een Senior Data Architect in het AWS Data Lab-team. Hij is een liefhebber van alles wat met nieuwe technologieën te maken heeft die een positieve invloed hebben op bedrijven en het algemene levensonderhoud. Ennio heeft meer dan 10 jaar ervaring in data-analyse. Hij helpt bedrijven bij het definiëren en implementeren van dataplatforms in verschillende sectoren, zoals telecommunicatie, banken, gaming, detailhandel en verzekeringen.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. Toegang hier.
- Bron: https://aws.amazon.com/blogs/big-data/push-amazon-emr-step-logs-from-amazon-ec2-instances-to-amazon-cloudwatch-logs/
- :is
- 1
- 10
- 100
- 9
- a
- Over
- toegang
- Account
- over
- acties
- actieve
- toevoeging
- adres
- Agent
- alarm
- meldingen
- Alles
- alternatief
- Amazone
- Amazon EC2
- Amazon EMR
- analytics
- en
- apache
- Apache Spark
- Aanvraag
- toepassingen
- architectuur
- ZIJN
- AS
- At
- autonoom
- AWS
- Bankieren
- gebaseerde
- BE
- vaardigheden
- beginnen
- BEST
- Groot
- Big data
- Bootstrap
- bouw
- ondernemingen
- by
- CAN
- Het vastleggen
- oorzaken
- Kanaal
- lasten
- Kies
- TROS
- verzamelen
- Bedrijven
- compleet
- Voltooid
- Berekenen
- Configuratie
- Wij verbinden
- Overwegen
- troosten
- content
- doorlopend
- Kern
- komt overeen
- kostenefficient
- Kosten
- kon
- en je merk te creëren
- aangemaakt
- creëert
- Wij creëren
- kritisch
- aan te passen
- gegevens
- gegevens Analytics
- Standaard
- demonstreert
- implementeren
- ingezet
- ontplooit
- anders
- directories
- verdeeld
- beneden
- rit
- elk
- Vroeger
- gemakkelijker
- echo
- effectief
- maakt
- enthousiast
- fout
- essentieel
- Ether (ETH)
- Event
- EVENTS
- alles
- voorbeeld
- verwacht
- ervaring
- exporteren
- uitdrukkingen
- mislukt
- Kenmerk
- Dien in
- Bestanden
- filter
- filters
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- volgend
- volgt
- Voor
- oppompen van
- functies
- verder
- toekomst
- gaming
- Algemeen
- gegenereerde
- Go
- meer
- Groep
- Groep
- gids
- Hebben
- Gezondheid
- hulp
- nuttig
- helpt
- zeer
- hosts
- Hoe
- How To
- HTML
- http
- HTTPS
- IAM
- ID
- identificeren
- het identificeren van
- Impact
- uitvoeren
- uitvoering
- belangrijk
- in
- omvatten
- omvat
- Inclusief
- individueel
- industrieën
- informatie
- Infrastructuur
- installeren
- installeren
- instantie
- verzekering
- Intelligentie
- problemen
- IT
- Jobomschrijving:
- Vacatures
- jpg
- json
- laboratorium
- lancering
- gelanceerd
- lanceert
- Niveau
- als
- het laden
- lokaal
- lang
- onderhoud
- maken
- beheer
- manager
- manier
- middel
- Metriek
- wijzigen
- monitor
- Grensverkeer
- meer
- meervoudig
- naam
- Genoemd
- Navigatie
- nodig
- nodig
- New
- Nieuwe technologieën
- volgende
- knooppunt
- knooppunten
- notificatie
- meldingen
- aantal
- of
- aangeboden
- on
- EEN
- open source
- operationele
- Overige
- uitgang
- pakket
- brood
- parameter
- parameters
- bijzonder
- vooral
- pad
- prestatie
- platforms
- Plato
- Plato gegevensintelligentie
- PlatoData
- positief
- Post
- praktijk
- gepresenteerd
- primair
- processen
- verwerking
- Profiel
- zorgen voor
- biedt
- voorziening
- Duwen
- voortvarend
- snel
- vast
- real-time
- adviseren
- regelmatig
- verwant
- los
- blijven
- Resources
- Resultaten
- <HR>Retail
- beoordelen
- Rol
- wortel
- lopen
- lopend
- schaalbare
- secties
- veiligheid
- verzending
- senior
- -Series
- service
- Sessie
- reeks
- moet
- Eenvoudig
- So
- Software
- oplossing
- sommige
- Vonk
- specifiek
- stack
- standaard
- begin
- Start
- starts
- Stap voor
- Stappen
- stop
- mediaopslag
- winkels
- stroomlijnen
- streams
- subnet
- Met goed gevolg
- dergelijk
- sudo
- system
- Systems
- Nemen
- team
- Technologies
- telecommunicatie
- sjabloon
- dat
- De
- Ze
- Deze
- drie
- Door
- niet de tijd of
- Tijdreeksen
- naar
- opsporen
- leiden
- .
- waarde
- het verifiëren
- Bekijk
- walkthrough
- horloges
- Manier..
- welke
- en
- wil
- Met
- zonder
- Mijn werk
- workflow
- het schrijven van
- geschreven
- YAML
- jaar
- Your
- zephyrnet