A Spark-alkalmazások hatékonyságának javításához elengedhetetlen a teljesítmény és a viselkedés figyelése. Ebben a bejegyzésben bemutatjuk, hogyan lehet részletes Spark-mutatókat közzétenni Amazon EMR nak nek amazonfelhőóra. Ez lehetővé teszi a szűk keresztmetszetek azonosítását, miközben optimalizálja az erőforrás-kihasználást.
A CloudWatch robusztus, méretezhető és költséghatékony megfigyelési megoldást kínál az AWS-erőforrásokhoz és -alkalmazásokhoz, hatékony testreszabási lehetőségekkel és zökkenőmentes integrációval más AWS-szolgáltatásokkal. Alapértelmezés szerint az Amazon EMR küld alapvető mérőszámok a CloudWatch szolgáltatásba a fürt tevékenységének és állapotának nyomon követéséhez. A Spark konfigurálható mérőszámrendszere lehetővé teszi a metrikák összegyűjtését különféle fogadókban, beleértve a HTTP-, JMX- és CSV-fájlokat, de további konfigurációra van szükség ahhoz, hogy a Spark mérőszámokat tegyen közzé a CloudWatch-on.
Megoldás áttekintése
Ez a megoldás magában foglalja a Spark-konfigurációt, amely a mutatókat egyéni fogadóba küldi. Az egyéni fogadó csak a Metricfilter.json fájlban meghatározott metrikákat gyűjti össze. A CloudWatch ügynököt használja a mutatók közzétételéhez egy egyéni Cloudwatch névtérben. A mellékelt bootstrap műveleti szkript felelős a CloudWatch ügynök és a metrikakönyvtár telepítéséért és konfigurálásáért a Amazon rugalmas számítási felhő (Amazon EC2) EMR példányok. A CloudWatch irányítópultja azonnali betekintést nyújthat egy alkalmazás teljesítményébe.
A következő diagram a megoldás architektúráját és munkafolyamatát mutatja be.
A munkafolyamat a következő lépéseket tartalmazza:
- A felhasználók elindítanak egy Spark EMR-feladatot, létrehozva egy lépést az EMR-fürtön. Az Apache Spark segítségével a munkaterhelés megoszlik az EMR-fürt különböző csomópontjai között.
- A fürt minden csomópontjában (EC2-példány) egy Spark-könyvtár rögzíti és továbbítja a metrikaadatokat egy CloudWatch-ügynöknek, amely összesíti a metrikaadatokat, mielőtt átküldi őket a CloudWatchba. minden 30 másodpercben.
- A felhasználók a CloudWatch konzolon megtekinthetik az egyéni névtérhez való hozzáférés mérőszámait.
Biztosítunk egy AWS felhőképződés sablon ebben a bejegyzésben általános útmutatóként. A sablon bemutatja, hogyan konfigurálhat egy CloudWatch-ügynököt az Amazon EMR-en, hogy a Spark-metrikákat a CloudWatchba küldje. Szükség szerint áttekintheti és testreszabhatja az Amazon EMR biztonsági konfigurációihoz. Bevált gyakorlatként javasoljuk, hogy az Amazon EMR biztonsági konfigurációit foglalja bele a sablonba titkosítja az átvitel során lévő adatokat.
Azt is tudnia kell, hogy a verem által telepített egyes erőforrások használatban maradva költségekkel járnak. Ezenkívül EMR mérőszámok nem terheli a CloudWatch költségeit. Az egyéni mutatók azonban a CloudWatch mérőszámok árazásán alapuló költségekkel járnak. További információkért lásd Amazon CloudWatch árazás.
A következő szakaszokban a következő lépéseken megyünk keresztül:
- Hozza létre és töltse fel a metrikakönyvtárat, a telepítési parancsfájlt és a szűrődefiníciót egy Amazon egyszerű tárolási szolgáltatás (Amazon S3) vödör.
- Használja a CloudFormation sablont a következő erőforrások létrehozásához:
- Figyelje a Spark mérőszámait a CloudWatch konzolon.
Előfeltételek
Ez a bejegyzés feltételezi, hogy rendelkezik a következőkkel:
- An AWS-fiók.
- Egy S3 vödör a bootstrap szkript, a könyvtár és a metrikaszűrő meghatározásának tárolására.
- VPC-t hoztak létre Amazon Virtual Private Cloud (Amazon VPC), ahol az EMR-fürt elindul.
- Alapértelmezett IAM-szolgáltatási szerepkörök az Amazon EMR-engedélyeihez az AWS-szolgáltatásokhoz és -erőforrásokhoz. Ezeket a szerepköröket az aws emr create-default-roles paranccsal hozhatja létre AWS parancssori interfész (AWS CLI).
- Opcionális EC2 kulcspár, ha inkább SSH-n keresztül kíván csatlakozni a fürthöz Session Manager, képessége AWS rendszermenedzser.
Határozza meg a szükséges mutatókat
A szükségtelen adatok CloudWatch-be való küldésének elkerülése érdekében megoldásunk metrikus szűrőt valósít meg. Tekintse át a Spark dokumentáció megismerkedni a névterekkel és a hozzájuk tartozó mérőszámokkal. Határozza meg, mely mutatók relevánsak az adott alkalmazási és teljesítménycélok szempontjából. A munkaterheléstől, az adatfeldolgozási követelményektől és az optimalizálási céloktól függően a különböző alkalmazások különböző mérőszámokat igényelhetnek a figyeléshez. A figyelni kívánt metrikaneveket a Metricfilter.json fájlban kell megadni a hozzájuk tartozó névterekkel együtt.
Létrehoztunk egy példa Metricfilter.json definíciót, amely magában foglalja az adatok I/O-hoz, a hulladékgyűjtéshez, a memóriához és a CPU-nyomáshoz, valamint a Spark-feladat-, szakasz- és feladatmetrikákhoz kapcsolódó metrikák rögzítését.
Vegye figyelembe, hogy bizonyos mutatók nem állnak rendelkezésre minden Spark-verzióban (például az appStatus a Spark 3.0-ban jelent meg).
Hozza létre és töltse fel a szükséges fájlokat egy S3 tárolóba
További információkért lásd: Objektumok feltöltése és a A CloudWatch ügynök telepítése és futtatása a szervereken.
A bootstrap szkript létrehozásához és feltöltéséhez hajtsa végre a következő lépéseket:
- Az Amazon S3 konzolon válassza ki az S3 tartályt.
- A tárgyak lapot választani Feltöltés.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Fájlok hozzáadása, majd válassza a Metricfilter.json, installer.shés examplejob.sh fájlokat.
- Ezenkívül töltse fel a
emr-custom-cw-sink-0.0.1.jar
metrika könyvtár fájl, amely megfelel az Ön által használt Amazon EMR kiadási verziónak: - A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Feltöltés, és vegye figyelembe a fájlok S3 URI-it.
Erőforrások biztosítása a CloudFormation sablon segítségével
A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Indítsa el a Stack alkalmazást CloudFormation verem elindításához a fiókjában és a sablon üzembe helyezéséhez:
Ez a sablon IAM-szerepkört, IAM-példányprofilt, EMR-fürtöt és CloudWatch-irányítópultot hoz létre. A fürt elindít egy alapszintet Spark példa alkalmazás. A felhasznált AWS-erőforrásokért számlázunk ki, ha ebből a sablonból hoz létre veremet.
A CloudFormation varázsló a következő paraméterek módosítására vagy megadására kéri Önt:
- InstanceType - A példány típusa minden példánycsoporthoz. Az alapértelmezett m5.2xlarge.
- InstanceCountCore – A példányok száma az alappéldánycsoportban. Az alapértelmezett a 4.
- EMRReleaseLabel - A Amazon EMR kiadási címke használni szeretnéd. Az alapértelmezett emr-6.9.0.
- BootstrapScriptPath – A korábban másolt installer.sh telepítési rendszerindítási parancsfájl S3 elérési útja.
- MetricFilterPath – A korábban másolt Metricfilter.json definíció S3 elérési útja.
- MetricsLibraryPath – A korábban másolt CloudWatch emr-custom-cw-sink-3.jar könyvtár S0.0.1 elérési útja.
- CloudWatchNamespace – A használandó egyéni CloudWatch névtér neve.
- SparkDemoApplicationPath – A korábban másolt examplejob.sh szkript S3 elérési útja.
- alhálózati – Az EC2 alhálózat, ahol a fürt elindul. Ezt a paramétert meg kell adnia.
- EC2KeyPairName – Opcionális EC2 kulcspár a fürtcsomópontokhoz való csatlakozáshoz, a Session Manager alternatívájaként.
Tekintse meg a mutatókat
A CloudFormation verem sikeres telepítése után a példafeladat automatikusan elindul, és körülbelül 15 percet vesz igénybe. A CloudWatch konzolon válassza a lehetőséget Dashboards a navigációs ablakban. Ezután szűrje le a listát a SparkMonitoring előtaggal.
A példa-irányítópult a fürtre vonatkozó információkat, valamint a Spark-feladatok, szakaszok és feladatok áttekintését tartalmazza. A mutatók egyéni névtér alatt is elérhetők, amely a következővel kezdődik: EMRCustomSparkCloudWatchSink
.
Memória, CPU, I/O és további feladatelosztási mérőszámok is szerepelnek benne.
Végül végrehajtónként elérhetők a Java szemétgyűjtési mérőszámai.
Tisztítsuk meg
A fiók jövőbeni költségeinek elkerülése érdekében törölje az ebben az útmutatóban létrehozott forrásokat. Az EMR-fürt mindaddig díjat számít fel, amíg a fürt aktív, ezért állítsa le, ha végzett. Hajtsa végre a következő lépéseket:
- A CloudFormation konzol navigációs ablaktábláján válassza a lehetőséget Stacks.
- Válassza ki az elindított verem (
EMR-CloudWatch-Demo
), majd válassza a lehetőséget töröl. - Ürítse ki az S3 vödröt te alkottál.
- Törölje az S3 tartályt te alkottál.
Következtetés
Most, hogy végrehajtotta a bemutató lépéseit, a CloudWatch-ügynök fut a fürt gazdagépein, és úgy van beállítva, hogy a Spark-metrikákat a CloudWatchba küldje. Ezzel a funkcióval hatékonyan nyomon követheti az Amazon EMR-en futó Spark-feladatok állapotát és teljesítményét, valós időben észlelheti a kritikus problémákat, és gyorsan azonosíthatja a kiváltó okokat.
Ezt a megoldást egy CloudFormation-sablonon keresztül csomagolhatja és telepítheti, például ehhez a példasablonhoz, amely létrehozza az IAM-példányprofil szerepkört, a CloudWatch irányítópultját és az EMR-fürtöt. A könyvtár forráskódja itt érhető el GitHub személyre szabásához.
Ennek továbbviteléhez fontolja meg ezeknek a mutatóknak a használatát a CloudWatch riasztásaiban. Összegyűjtheti őket más riasztásokkal a összetett riasztó vagy konfigurálhat riasztási műveleteket, például küldést Amazon Simple Notification Service (Amazon SNS) értesítések eseményvezérelt folyamatok kiváltására, mint pl AWS Lambda funkciókat.
A szerzőről
Le Clue Lubbe az AWS vezető mérnöke. Legnagyobb vállalati ügyfeleinkkel együttműködve megoldja néhány legösszetettebb műszaki problémát. Széles körű megoldásokat hoz az innováción keresztül, hogy befolyásolja és javítsa ügyfeleink életét.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Autóipar / elektromos járművek, Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- ChartPrime. Emelje fel kereskedési játékát a ChartPrime segítségével. Hozzáférés itt.
- BlockOffsets. A környezetvédelmi ellentételezési tulajdon korszerűsítése. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/big-data/monitor-apache-spark-applications-on-amazon-emr-with-amazon-cloudwatch/
- :is
- :nem
- :ahol
- 1
- 100
- 107
- 15%
- 20
- 30
- 9
- a
- képesség
- Hozzáférés
- Fiók
- ismerkedés
- át
- Akció
- cselekvések
- aktív
- tevékenység
- További
- Ezen kívül
- Ügynök
- riasztás
- Minden termék
- lehetővé teszi, hogy
- mentén
- Is
- alternatív
- amazon
- Amazon EC2
- Amazon EMR
- Az Amazon Web Services
- an
- és a
- Apache
- Apache Spark
- Alkalmazás
- alkalmazások
- körülbelül
- építészeti
- építészet
- VANNAK
- AS
- társult
- feltételezi
- At
- szerző
- automatikusan
- elérhető
- elkerülése érdekében
- tudatában van
- AWS
- alapján
- alapvető
- BE
- előtt
- BEST
- Bootstrap
- széles
- de
- by
- TUD
- képesség
- fogások
- Rögzítése
- okai
- bizonyos
- díjak
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- Fürt
- kód
- gyűjt
- gyűjtemény
- összegyűjti
- teljes
- Befejezett
- bonyolult
- Kiszámít
- Configuration
- konfigurálva
- Csatlakozás
- Csatlakozó
- Fontolja
- Konzol
- Mag
- megfelel
- költséghatékony
- kiadások
- tudott
- CPU
- teremt
- készítette
- teremt
- létrehozása
- kritikai
- szokás
- Ügyfelek
- testreszabás
- testre
- műszerfal
- dátum
- adatfeldolgozás
- alapértelmezett
- meghatározott
- definíció
- bizonyítani
- mutatja
- attól
- telepíteni
- telepített
- bevet
- részletes
- Határozzuk meg
- különböző
- megosztott
- terjesztés
- csinált
- ne
- meghajtók
- minden
- Korábban
- hatékonyan
- hatékonyság
- lehetővé
- mérnök
- Vállalkozás
- vállalati ügyfelek
- alapvető
- Eter (ETH)
- példa
- Funkció
- filé
- Fájlok
- szűrő
- következő
- A
- ból ből
- funkciók
- további
- jövő
- általános
- kap
- Ad
- Go
- Célok
- Csoport
- Csoportok
- útmutató
- Legyen
- he
- Egészség
- hosts
- Hogyan
- How To
- azonban
- HTML
- http
- HTTPS
- IAM
- azonosítani
- azonosító
- if
- illusztrálja
- szemléltető
- Hatás
- munkagépek
- javul
- in
- tartalmaz
- beleértve
- magában foglalja a
- Beleértve
- információ
- Innováció
- Insight
- telepítés
- telepítése
- példa
- azonnali
- integráció
- bele
- Bevezetett
- kérdések
- IT
- ITS
- Jáva
- Munka
- Állások
- json
- Kulcs
- legnagyobb
- indít
- indított
- elindítja
- könyvtár
- élet
- mint
- vonal
- Lista
- Hosszú
- menedzser
- Lehet..
- Memory design
- metrikus
- Metrics
- jegyzőkönyv
- módosítása
- monitor
- ellenőrzés
- több
- a legtöbb
- kell
- név
- nevek
- Navigáció
- szükséges
- következő
- csomópont
- csomópontok
- megjegyezni
- bejelentés
- értesítések
- szám
- célok
- of
- on
- csak
- optimalizálás
- optimalizálása
- Opciók
- or
- Más
- mi
- áttekintés
- csomag
- pár
- üvegtábla
- paraméter
- paraméterek
- ösvény
- mert
- teljesítmény
- engedélyek
- terv
- Plató
- Platón adatintelligencia
- PlatoData
- portré
- állás
- erős
- gyakorlat
- nyomás
- árazás
- Fő
- magán
- problémák
- Folyamatok
- feldolgozás
- profil
- ad
- biztosít
- közzétesz
- Nyomja
- kitolja
- Toló
- gyorsan
- Inkább
- igazi
- real-time
- ajánl
- összefüggő
- engedje
- marad
- szükség
- kötelező
- követelmények
- forrás
- erőforrás-felhasználás
- Tudástár
- felelős
- Kritika
- erős
- Szerep
- szerepek
- gyökér
- futás
- skálázható
- zökkenőmentes
- Rész
- szakaszok
- biztonság
- lát
- küld
- elküldés
- küld
- szolgáltatás
- Szolgáltatások
- ülés
- kellene
- Egyszerű
- So
- megoldások
- Megoldások
- SOLVE
- néhány
- forrás
- forráskód
- Szikra
- különleges
- verem
- Színpad
- állapota
- kezdet
- Kezdve
- kezdődik
- Lépés
- Lépései
- megáll
- tárolás
- alhálózati
- sikeresen
- ilyen
- ÖSSZEFOGLALÓ
- rendszer
- Systems
- Vesz
- tart
- Feladat
- feladatok
- Műszaki
- sablon
- mint
- hogy
- A
- The Source
- azok
- Őket
- akkor
- Ezek
- ők
- ezt
- Keresztül
- idő
- nak nek
- vágány
- kiváltó
- alatt
- használ
- használt
- segítségével
- hasznosítja
- fajta
- változat
- Megnézem
- Tényleges
- végigjátszás
- akar
- volt
- we
- háló
- webes szolgáltatások
- amikor
- ami
- míg
- lesz
- val vel
- munkafolyamat
- művek
- X
- yaml
- te
- A te
- zephyrnet