Spark-sovelluksen tehokkuuden parantamiseksi on tärkeää seurata sen suorituskykyä ja käyttäytymistä. Tässä viestissä näytämme, kuinka voit julkaista yksityiskohtaisia Spark-mittareita Amazonin EMR että amazonin pilvikello. Tämä antaa sinulle mahdollisuuden tunnistaa pullonkauloja ja optimoida resurssien käyttöä.
CloudWatch tarjoaa vankan, skaalautuvan ja kustannustehokkaan valvontaratkaisun AWS-resursseille ja -sovelluksille, tehokkailla räätälöintivaihtoehdoilla ja saumattoman integroinnin muihin AWS-palveluihin. Oletuksena Amazon EMR lähettää perusmittareita CloudWatchiin seurataksesi klusterin toimintaa ja kuntoa. Sparkin konfiguroitava metriikkajärjestelmä mahdollistaa mittareiden keräämisen useisiin eri nieluihin, mukaan lukien HTTP-, JMX- ja CSV-tiedostot, mutta lisämääritykset ovat tarpeen, jotta Spark voi julkaista mittareita CloudWatchiin.
Ratkaisun yleiskatsaus
Tämä ratkaisu sisältää Spark-määrityksen mittareiden lähettämiseksi mukautettuun nieluun. Mukautettu nielu kerää vain Metricfilter.json-tiedostossa määritetyt tiedot. Se käyttää CloudWatch-agenttia tietojen julkaisemiseen mukautettuun Cloudwatch-nimiavaruuteen. Mukana oleva bootstrap-toimintoskripti vastaa CloudWatch-agentin ja metrikirjaston asentamisesta ja määrittämisestä Amazonin elastinen laskentapilvi (Amazon EC2) EMR-tapaukset. CloudWatch-hallintapaneeli voi tarjota välittömän katsauksen sovelluksen suorituskykyyn.
Seuraava kaavio havainnollistaa ratkaisun arkkitehtuuria ja työnkulkua.
Työnkulku sisältää seuraavat vaiheet:
- Käyttäjät aloittavat Spark EMR -työn ja luovat askeleen EMR-klusteriin. Apache Sparkilla työkuorma jakautuu EMR-klusterin eri solmuille.
- Klusterin kussakin solmussa (EC2-esiintymä) Spark-kirjasto kaappaa ja lähettää metritiedot CloudWatch-agentille, joka kokoaa metritiedot ennen niiden lähettämistä CloudWatchiin. joka 30 sekuntia.
- Käyttäjät voivat tarkastella mittareita, jotka käyttävät mukautettua nimiavaruutta CloudWatch-konsolissa.
Tarjoamme AWS-pilven muodostuminen malli tässä viestissä yleisoppaana. Malli osoittaa, kuinka CloudWatch-agentti määritetään Amazon EMR:ssä työntämään Spark-mittareita CloudWatchiin. Voit tarkistaa ja mukauttaa sitä tarpeen mukaan sisällyttääksesi Amazon EMR -suojauskokoonpanosi. Parhaana käytäntönä suosittelemme, että sisällytät Amazon EMR -suojauskokoonpanosi malliin salata siirrettävät tiedot.
Sinun tulee myös olla tietoinen siitä, että osa tämän pinon käyttämistä resursseista aiheuttaa kuluja, kun ne jäävät käyttöön. Lisäksi, EMR-mittarit ei aiheuta CloudWatch-kuluja. Muokatuista mittareista veloitetaan kuitenkin CloudWatchin mittareiden hinnoitteluun perustuvia maksuja. Katso lisätietoja Amazon CloudWatch -hinnoittelu.
Seuraavissa osioissa käymme läpi seuraavat vaiheet:
- Luo ja lähetä mittauskirjasto, asennuskomentosarja ja suodatinmäärittely Amazonin yksinkertainen tallennuspalvelu (Amazon S3)-kauha.
- Luo seuraavat resurssit CloudFormation-mallin avulla:
- Tarkkaile Spark-mittareita CloudWatch-konsolissa.
Edellytykset
Tämä viesti olettaa, että sinulla on seuraavat asiat:
- An AWS-tili.
- S3-säilö bootstrap-komentosarjan, kirjaston ja mittaussuodattimen määritelmän tallentamiseen.
- VPC luotu vuonna Amazonin virtuaalinen yksityinen pilvi (Amazon VPC), jossa EMR-klusterisi käynnistetään.
- Amazonin EMR-lupien IAM-oletusroolit AWS-palveluille ja -resursseille. Voit luoda nämä roolit aws emr create-default-roles -komennolla AWS-komentoriviliitäntä (AWS CLI).
- Valinnainen EC2-avainpari, jos aiot muodostaa yhteyden klusteriisi SSH:n sijaan Session Manager, kyky AWS-järjestelmien päällikkö.
Määritä tarvittavat mittarit
Välttääksemme tarpeettoman tiedon lähettämisen CloudWatchille, ratkaisumme toteuttaa metrisuodattimen. Tarkista Spark-dokumentaatio tutustua nimiavaruuksiin ja niihin liittyviin mittareihin. Selvitä, mitkä tiedot ovat olennaisia sovelluksesi ja suorituskykytavoitteidesi kannalta. Eri sovellukset voivat vaatia erilaisia mittareita seuratakseen työmäärän, tietojenkäsittelyvaatimusten ja optimointitavoitteiden mukaan. Mittareiden nimet, joita haluat valvoa, tulee määrittää Metricfilter.json-tiedostossa ja niihin liittyvät nimitilat.
Olemme luoneet esimerkin Metricfilter.json-määrittelystä, joka sisältää datan I/O-, roskienkeruu-, muisti- ja prosessoripaineeseen sekä Spark-työ-, vaihe- ja tehtävämittauksiin liittyviä mittareita.
Huomaa, että tietyt mittarit eivät ole saatavilla kaikissa Spark-julkaisuversioissa (esimerkiksi appStatus esiteltiin Spark 3.0:ssa).
Luo ja lataa tarvittavat tiedostot S3-säihöön
Lisätietoja katso Ladataan kohteita ja CloudWatch-agentin asentaminen ja käyttäminen palvelimillesi.
Voit luoda ja ladata käynnistyskomentosarjan suorittamalla seuraavat vaiheet:
- Valitse Amazon S3 -konsolissa S3-ämpärisi.
- On Esineet välilehti, valitse Lataa.
- Valita Lisätä tiedostoja, valitse sitten Metricfilter.json, installer.shja esimerkkijob.sh tiedostoja.
- Lisäksi lataa
emr-custom-cw-sink-0.0.1.jar
metriikkakirjastotiedosto, joka vastaa käyttämääsi Amazon EMR -julkaisuversiota: - Valita Lataa, ja huomioi tiedostojen S3 URI:t.
Tarjoa resursseja CloudFormation-mallilla
Valita Käynnistä pino käynnistääksesi CloudFormation-pinon tililläsi ja ottaaksesi mallin käyttöön:
Tämä malli luo IAM-roolin, IAM-instanssiprofiilin, EMR-klusterin ja CloudWatch-hallintapaneelin. Klusteri aloittaa perustoiminnon Spark esimerkkisovellus. Sinua laskutetaan käytetyistä AWS-resursseista, jos luot pinon tästä mallista.
Ohjattu CloudFormation-toiminto pyytää sinua muokkaamaan tai antamaan näitä parametreja:
- Tapaustyyppi - esiintymän tyyppi kaikille esiintymäryhmille. Oletus on m5.2xlarge.
- InstanceCountCore – Instanssien lukumäärä ydininstanssiryhmässä. Oletusarvo on 4.
- EMRRreleaseLabel - Amazon EMR -julkaisumerkki haluat käyttää. Oletus on emr-6.9.0.
- BootstrapScriptPath – Aiemmin kopioimasi installer.sh-asennuksen bootstrap-komentosarjan S3-polku.
- MetricFilterPath – Aiemmin kopioimasi Metricfilter.json-määritelmän S3-polku.
- MetricsLibraryPath – Aiemmin kopioimasi CloudWatch emr-custom-cw-sink-3.jar -kirjastosi S0.0.1-polku.
- CloudWatchNamespace – Käytettävän mukautetun CloudWatch-nimitilan nimi.
- SparkDemoApplicationPath – Aiemmin kopioimasi examplejob.sh-skriptin S3-polku.
- aliverkon – EC2-aliverkko, jossa klusteri käynnistyy. Sinun on annettava tämä parametri.
- EC2KeyPairName – Valinnainen EC2-avainpari klusterin solmuihin yhdistämistä varten vaihtoehtona istunnonhallinnalle.
Katso mittarit
Kun CloudFormation-pino on otettu käyttöön onnistuneesti, esimerkkityö alkaa automaattisesti ja kestää noin 15 minuuttia. Valitse CloudWatch-konsolissa Mittaristot navigointiruudussa. Suodata sitten luettelo etuliitteellä SparkMonitoring.
Esimerkkimittaristo sisältää tietoja klusterista ja yleiskatsauksen Spark-töistä, vaiheista ja tehtävistä. Mittarit ovat saatavilla myös mukautetussa nimiavaruudessa, joka alkaa EMRCustomSparkCloudWatchSink
.
Muisti-, prosessori-, I/O- ja lisätehtävien jakautumismittaukset ovat myös mukana.
Lopuksi yksityiskohtaiset Java-jätteenkeruumittarit ovat saatavilla toteuttajakohtaisesti.
Puhdistaa
Vältä tililtäsi tulevat maksut poistamalla tässä ohjeessa luomasi resurssit. EMR-klusterista veloitetaan niin kauan kuin klusteri on aktiivinen, joten lopeta se, kun olet valmis. Suorita seuraavat vaiheet:
- Valitse CloudFormation-konsolin navigointiruudusta Stacks.
- Valitse pino jonka käynnistit (
EMR-CloudWatch-Demo
), valitse sitten Poista. - Tyhjennä S3-ämpäri loit.
- Poista S3-ämpäri loit.
Yhteenveto
Nyt kun olet suorittanut tämän esittelyn vaiheet, CloudWatch-agentti on käynnissä klusterin isännissäsi ja se on määritetty työntämään Spark-mittareita CloudWatchiin. Tämän ominaisuuden avulla voit seurata tehokkaasti Amazon EMR:ssä käynnissä olevien Spark-töiden kuntoa ja suorituskykyä, havaita kriittiset ongelmat reaaliajassa ja tunnistaa perimmäiset syyt nopeasti.
Voit pakata ja ottaa tämän ratkaisun käyttöön tämän esimerkkimallin kaltaisen CloudFormation-mallin kautta, joka luo IAM-ilmentymän profiiliroolin, CloudWatch-koontinäytön ja EMR-klusterin. Kirjaston lähdekoodi on saatavilla osoitteessa GitHub mukauttamista varten.
Harkitse näiden mittareiden käyttöä CloudWatch-hälytyksissä. Voit kerätä ne muiden hälyttimien kanssa a yhdistetty hälytin tai määritä hälytystoiminnot, kuten lähettäminen Amazonin yksinkertainen ilmoituspalvelu (Amazon SNS) ilmoitukset käynnistämään tapahtumapohjaisia prosesseja, kuten AWS Lambda toiminnot.
kirjailijasta
Le Clue Lubbe on pääinsinööri AWS:ssä. Hän työskentelee suurimpien yritysasiakkaidemme kanssa ratkaistakseen joitain heidän monimutkaisimmista teknisistä ongelmistaan. Hän ajaa innovaatioiden kautta laajoja ratkaisuja, jotka vaikuttavat ja parantavat asiakkaidemme elämää.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. Autot / sähköautot, hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- ChartPrime. Nosta kaupankäyntipeliäsi ChartPrimen avulla. Pääsy tästä.
- BlockOffsets. Ympäristövastuun omistuksen nykyaikaistaminen. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/big-data/monitor-apache-spark-applications-on-amazon-emr-with-amazon-cloudwatch/
- :On
- :ei
- :missä
- 1
- 100
- 107
- 15%
- 20
- 30
- 9
- a
- kyky
- Pääsy
- Tili
- tutustunut
- poikki
- Toiminta
- toimet
- aktiivinen
- toiminta
- lisä-
- Lisäksi
- Agentti
- hälytys
- Kaikki
- mahdollistaa
- pitkin
- Myös
- vaihtoehto
- Amazon
- Amazon EC2
- Amazonin EMR
- Amazon Web Services
- an
- ja
- Apache
- Apache Spark
- Hakemus
- sovellukset
- suunnilleen
- arkkitehtuurin
- arkkitehtuuri
- OVAT
- AS
- liittyvä
- olettaa
- At
- kirjoittaja
- automaattisesti
- saatavissa
- välttää
- tietoinen
- AWS
- perustua
- perustiedot
- BE
- ennen
- PARAS
- Bootstrap
- laaja
- mutta
- by
- CAN
- valmiudet
- kaappaa
- Kaappaaminen
- syyt
- tietty
- maksut
- Valita
- Cluster
- koodi
- kerätä
- kokoelma
- kerää
- täydellinen
- Valmistunut
- monimutkainen
- Laskea
- Konfigurointi
- määritetty
- kytkeä
- Kytkeminen
- Harkita
- Console
- Ydin
- vastaa
- kustannustehokas
- kustannukset
- voisi
- prosessori
- luoda
- luotu
- luo
- Luominen
- kriittinen
- asiakassuhde
- Asiakkaat
- räätälöinnin
- räätälöidä
- kojelauta
- tiedot
- tietojenkäsittely
- oletusarvo
- määritelty
- määritelmä
- osoittaa
- osoittaa
- Riippuen
- sijoittaa
- käyttöön
- lauennut
- yksityiskohtainen
- Määrittää
- eri
- jaettu
- jakelu
- tehty
- Dont
- asemat
- kukin
- Aikaisemmin
- tehokkaasti
- tehokkuus
- mahdollistaa
- insinööri
- yritys
- yritysasiakkaat
- olennainen
- Eetteri (ETH)
- esimerkki
- Ominaisuus
- filee
- Asiakirjat
- suodattaa
- jälkeen
- varten
- alkaen
- tehtävät
- edelleen
- tulevaisuutta
- general
- saada
- Antaa
- Go
- Tavoitteet
- Ryhmä
- Ryhmän
- ohjaavat
- Olla
- he
- terveys
- isännät
- Miten
- Miten
- Kuitenkin
- HTML
- http
- HTTPS
- IAM
- tunnistaa
- tunnistaminen
- if
- havainnollistaa
- havainnollistaa
- Vaikutus
- työkoneet
- parantaa
- in
- sisältää
- mukana
- sisältää
- Mukaan lukien
- tiedot
- Innovaatio
- tietoa
- asennus
- asentaminen
- esimerkki
- välitön
- integraatio
- tulee
- käyttöön
- kysymykset
- IT
- SEN
- Jaava
- Job
- Työpaikat
- json
- avain
- suurin
- käynnistää
- käynnistettiin
- käynnistää
- Kirjasto
- elämä
- pitää
- linja
- Lista
- Pitkät
- johtaja
- Saattaa..
- Muisti
- metrinen
- Metrics
- pöytäkirja
- muokata
- monitori
- seuranta
- lisää
- eniten
- täytyy
- nimi
- nimet
- suunnistus
- tarvitaan
- seuraava
- solmu
- solmut
- huomata
- ilmoituksen
- ilmoitukset
- numero
- tavoitteet
- of
- on
- vain
- optimointi
- optimoimalla
- Vaihtoehdot
- or
- Muut
- meidän
- yleiskatsaus
- paketti
- pari
- lasi
- parametri
- parametrit
- polku
- varten
- suorituskyky
- Oikeudet
- suunnitelma
- Platon
- Platonin tietotieto
- PlatonData
- muotokuva
- Kirje
- voimakas
- harjoitusta.
- paine
- hinnoittelu
- Pääasiallinen
- yksityinen
- ongelmia
- Prosessit
- käsittely
- Profiili
- toimittaa
- tarjoaa
- julkaista
- Työnnä
- työntää
- Työnnä
- nopeasti
- pikemminkin
- todellinen
- reaaliaikainen
- suositella
- liittyvä
- vapauta
- merkityksellinen
- jäädä
- edellyttää
- tarvitaan
- vaatimukset
- resurssi
- resurssien käyttöä
- Esittelymateriaalit
- vastuullinen
- arviot
- luja
- Rooli
- roolit
- juuri
- juoksu
- skaalautuva
- saumaton
- Osa
- osiot
- turvallisuus
- nähdä
- lähettää
- lähettäminen
- lähettää
- palvelu
- Palvelut
- Istunto
- shouldnt
- Yksinkertainen
- So
- ratkaisu
- Ratkaisumme
- SOLVE
- jonkin verran
- lähde
- lähdekoodi
- Kipinä
- erityinen
- pino
- Vaihe
- vaiheissa
- Alkaa
- Aloita
- alkaa
- Vaihe
- Askeleet
- stop
- Levytila
- aliverkon
- Onnistuneesti
- niin
- YHTEENVETO
- järjestelmä
- järjestelmät
- ottaa
- vie
- Tehtävä
- tehtävät
- Tekninen
- sapluuna
- kuin
- että
- -
- Lähde
- heidän
- Niitä
- sitten
- Nämä
- ne
- tätä
- Kautta
- aika
- että
- raita
- laukaista
- varten
- käyttää
- käytetty
- käyttämällä
- hyödyntää
- lajike
- versio
- Näytä
- Virtual
- läpikäynti
- haluta
- oli
- we
- verkko
- verkkopalvelut
- kun
- joka
- vaikka
- tulee
- with
- työnkulku
- toimii
- X
- yaml
- te
- Sinun
- zephyrnet