În postare Vă prezentăm instrumentul AWS ProServe Hadoop Migration Delivery Kit TCO, am introdus instrumentul TCO AWS ProServe Hadoop Migration Delivery Kit (HMDK) și beneficiile migrării sarcinilor de lucru Hadoop la nivel local către Amazon EMR. În această postare, ne aprofundăm instrumentul, parcurgând toți pașii de la ingerarea jurnalelor, transformare, vizualizare și proiectarea arhitecturii până la calcularea TCO.
Prezentare generală a soluțiilor
Să vizităm pe scurt caracteristicile cheie ale instrumentului HMDK TCO. Instrumentul oferă un colector de jurnal YARN pentru a conecta Hadoop Resource Manager pentru a colecta jurnalele YARN. Un analizor de sarcină de lucru Hadoop bazat pe Python, numit analizor de jurnal YARN, analizează aplicațiile Hadoop. Amazon QuickSight tablourile de bord prezintă rezultatele analizorului. Aceleași rezultate accelerează, de asemenea, proiectarea viitoarelor instanțe EMR. În plus, un calculator TCO generează estimarea TCO a unui cluster EMR optimizat pentru a facilita migrarea.
Acum să vedem cum funcționează instrumentul. Următoarea diagramă ilustrează fluxul de lucru de la capăt la capăt.
În secțiunile următoare, parcurgem cei cinci pași principali ai instrumentului:
- Colectați jurnalele istoricului lucrărilor YARN.
- Transformați jurnalele istoricului lucrărilor din JSON în CSV.
- Analizați jurnalele de istoric al lucrărilor.
- Proiectați un cluster EMR pentru migrare.
- Calculați TCO.
Cerințe preliminare
Înainte de a începe, asigurați-vă că îndepliniți următoarele cerințe preliminare:
- Clonați depozitul hadoop-migration-assessment-tco.
- Instalați Python 3 pe mașina dvs. locală.
- Aveți un cont AWS cu permisiunea activată AWS Lambdas, QuickSight (ediția Enterprise) și Formarea AWS Cloud.
Colectați jurnalele istoricului lucrărilor YARN
În primul rând, rulezi un Colector de bușteni YARN, start-collector.sh, pe computerul dvs. local. Acest pas colectează jurnale Hadoop YARN și plasează jurnale pe mașina dvs. locală. Scriptul conectează mașina dvs. locală cu nodul principal Hadoop și comunică cu Resource Manager. Apoi preia informațiile despre istoricul joburilor (jurnalele YARN de la managerii de aplicații) apelând API-ul aplicației YARN ResourceManager.
Înainte de a rula colectorul de jurnal YARN, trebuie să configurați și să stabiliți conexiunea (HTTP: 8088 sau HTTPS: 8090; acesta din urmă este recomandat) pentru a verifica accesibilitatea YARN ResourceManager și a serverului YARN Timeline activat (Serverul Timeline v1 sau mai recent este acceptat). ). Poate fi necesar să definiți intervalul de colectare a jurnalelor YARN și politica de păstrare. Pentru a vă asigura că colectați jurnalele YARN consecutive, puteți utiliza un job cron pentru a programa colectorul de jurnal într-un interval de timp adecvat. De exemplu, pentru un cluster Hadoop cu 2,000 de aplicații zilnice și setarea yarn.resourcemanager.max-completed-applications setată la 1,000, teoretic, trebuie să rulați colectorul de jurnal de cel puțin două ori pentru a obține toate jurnalele YARN. În plus, vă recomandăm să colectați cel puțin 7 zile de jurnale YARN pentru a analiza sarcinile de lucru holistice.
Pentru mai multe detalii despre cum să configurați și să programați colectorul de jurnal, consultați yarn-log-collector GitHub repo.
Transformați jurnalele istoricului lucrărilor YARN din JSON în CSV
După obținerea jurnalelor YARN, rulați un organizator de jurnal YARN, yarn-log-organizer.py, care este un parser pentru a transforma jurnalele bazate pe JSON în fișiere CSV. Aceste fișiere CSV de ieșire sunt intrările pentru analizorul de jurnal YARN. Analizatorul are, de asemenea, alte capabilități, inclusiv sortarea evenimentelor în funcție de timp, eliminarea dedicate și îmbinarea mai multor jurnale.
Pentru mai multe informații despre cum să utilizați organizatorul de jurnal YARN, consultați yarn-log-organizer GitHub repo.
Analizați jurnalele istoricului lucrărilor YARN
Apoi, lansați analizatorul de jurnal YARN pentru a analiza jurnalele YARN în format CSV.
Cu QuickSight, puteți vizualiza datele din jurnalul YARN și puteți efectua analize în raport cu seturile de date generate de șabloanele de tablou de bord predefinite și de un widget. Widgetul creează automat tablouri de bord QuickSight în contul AWS țintă, care este configurat într-un șablon CloudFormation.
Următoarea diagramă ilustrează arhitectura HMDK TCO.
Analizatorul de jurnal YARN oferă patru funcționalități cheie:
- Încărcați istoricul lucrărilor YARN transformate în format CSV (de exemplu,
cluster_yarn_logs_*.csv
) Pentru a Serviciul Amazon de stocare simplă (Amazon S3) găleți. Aceste fișiere CSV sunt rezultate din organizatorul de jurnal YARN. - Creați un fișier JSON manifest (de exemplu,
yarn-log-manifest.json
) pentru QuickSight și încărcați-l în compartimentul S3: - Implementați tablouri de bord QuickSight folosind un șablon CloudFormation, care este în format YAML. După implementare, alegeți pictograma de reîmprospătare până când vedeți starea stivei ca
CREATE_COMPLETE
. Acest pas creează seturi de date pe tablourile de bord QuickSight din contul dvs. țintă AWS. - Pe tabloul de bord QuickSight, puteți găsi informații despre sarcinile de lucru Hadoop analizate din diferite diagrame. Aceste informații vă ajută să proiectați viitoare instanțe EMR pentru accelerarea migrației, așa cum este demonstrat în pasul următor.
Proiectați un cluster EMR pentru migrare
Rezultatele analizorului de jurnal YARN vă ajută să înțelegeți sarcinile de lucru reale Hadoop pe sistemul existent. Acest pas accelerează proiectarea viitoarelor instanțe EMR pentru migrare prin utilizarea unui Șablon Excel. Șablonul conține o listă de verificare pentru efectuarea analizei volumului de lucru și planificarea capacității:
- Aplicațiile care rulează pe cluster sunt utilizate corespunzător cu capacitatea lor actuală?
- Clusterul este sub încărcare la un anumit moment sau nu? Dacă da, când este momentul?
- Ce tipuri de aplicații și motoare (cum ar fi MR, TEZ sau Spark) rulează pe cluster și care este utilizarea resurselor pentru fiecare tip?
- Ciclurile de rulare ale diferitelor joburi (în timp real, lot, ad-hoc) rulează într-un singur cluster?
- Există lucrări care rulează în loturi regulate și, dacă da, care sunt aceste intervale de planificare? (De exemplu, la fiecare 10 minute, 1 oră, 1 zi.) Aveți locuri de muncă care utilizează multe resurse pe o perioadă lungă de timp?
- Există locuri de muncă care necesită îmbunătățirea performanței?
- Există anumite organizații sau persoane care monopolizează clusterul?
- Există locuri de muncă mixte de dezvoltare și operare într-un singur cluster?
După ce completați lista de verificare, veți avea o mai bună înțelegere a modului de proiectare a arhitecturii viitoare. Pentru optimizarea rentabilității clusterului EMR, următorul tabel oferă linii directoare generale pentru alegerea tipului adecvat de cluster EMR și Cloud Elastic de calcul Amazon familia (Amazon EC2).
Pentru a alege tipul de cluster adecvat și familia de instanțe, trebuie să efectuați mai multe runde de analiză împotriva jurnalelor YARN pe baza diferitelor criterii. Să ne uităm la câteva valori cheie.
Companiei
Puteți găsi modele de încărcare de lucru bazate pe numărul de aplicații Hadoop rulate într-o fereastră de timp. De exemplu, diagramele zilnice sau orare „Numărul de înregistrări după ora începută” oferă următoarele informații:
- În diagramele seriilor temporale zilnice, comparați numărul de rulări ale aplicațiilor între zile lucrătoare și sărbători și între zile calendaristice. Dacă numerele sunt similare, înseamnă că utilizările zilnice ale clusterului sunt comparabile. Pe de altă parte, dacă abaterea este mare, proporția locurilor de muncă ad-hoc este semnificativă. De asemenea, vă puteți da seama de posibilele locuri de muncă săptămânale sau lunare în anumite zile. În această situație, puteți vedea cu ușurință anumite zile dintr-o săptămână sau o lună cu concentrare mare a volumului de muncă.
- În diagramele de serie de timp orară, înțelegeți mai departe cum sunt rulate aplicațiile în ferestrele orare. Puteți găsi orele de vârf și în afara orelor de vârf într-o zi.
Utilizatori
Jurnalele YARN conțin ID-ul de utilizator al fiecărei aplicații. Aceste informații vă ajută să înțelegeți cine trimite o cerere la o coadă. Pe baza statisticilor privind rulările individuale și agregate ale aplicațiilor per coadă și per utilizator, puteți determina distribuția existentă a sarcinii de lucru în funcție de utilizator. De obicei, utilizatorii din aceeași echipă au cozi partajate. Uneori, mai multe echipe au cozi comune. Când proiectați cozi pentru utilizatori, aveți acum informații care vă vor ajuta să proiectați și să distribuiți sarcinile de lucru ale aplicațiilor care sunt mai echilibrate între cozi decât erau anterior.
Tipuri de aplicații
Puteți segmenta sarcinile de lucru în funcție de diferite tipuri de aplicații (cum ar fi Hive, Spark, Presto sau HBase) și puteți rula motoare (cum ar fi MR, Spark sau Tez). Pentru sarcinile de lucru grele de calcul, cum ar fi joburile MapReduce sau Hive-on-MR, utilizați instanțe optimizate pentru CPU. Pentru sarcinile de lucru care necesită multă memorie, cum ar fi lucrările Hive-on-TEZ, Presto și Spark, utilizați instanțe optimizate pentru memorie.
Timpul scurs
Puteți clasifica aplicațiile în funcție de timpul de execuție. Șablonul CloudFormation încorporat creează automat un câmp elapsedGroup într-un tablou de bord QuickSight. Acest lucru activează o caracteristică cheie care vă permite să observați lucrări de lungă durată într-una dintre cele patru diagrame de pe tablourile de bord QuickSight. Prin urmare, puteți proiecta arhitecturi viitoare personalizate pentru aceste lucrări mari.
Tablourile de bord QuickSight corespunzătoare includ patru diagrame. Puteți detalia fiecare diagramă, care este asociată unui grup.
grup Număr |
Timpul de rulare/Timpul scurs al unui job |
1 | Mai puțin de 10 minute |
2 | Între 10 minute și 30 minute |
3 | intre 30 de minute si 1 ora |
4 | Mai mult de 1 oră |
În diagrama Grupului 4, vă puteți concentra pe analizarea lucrărilor mari pe baza diferitelor valori, inclusiv utilizator, coadă, tip de aplicație, cronologie, utilizarea resurselor și așa mai departe. Pe baza acestei considerații, este posibil să aveți cozi dedicate pe un cluster sau un cluster EMR dedicat pentru lucrări mari. Între timp, puteți trimite lucrări mici la cozile partajate.
Resurse
Pe baza tiparelor de consum de resurse (CPU, memorie), alegeți dimensiunea și familia potrivite de instanțe EC2 pentru performanță și rentabilitate. Pentru aplicațiile care necesită calcul intensiv, recomandăm instanțe de familii optimizate pentru CPU. Pentru aplicațiile care necesită multă memorie, sunt recomandate familiile de instanțe optimizate pentru memorie.
În plus, pe baza naturii sarcinilor de lucru ale aplicației și a utilizării resurselor de-a lungul timpului, puteți alege un cluster EMR persistent sau tranzitoriu, Amazon EMR pe EKS, Sau Amazon EMR fără server.
După ce ați analizat jurnalele YARN după diferite valori, sunteți gata să proiectați viitoare arhitecturi EMR. Următorul tabel listează exemple de grupuri EMR propuse. Puteți găsi mai multe detalii în repository GitHub de calculator-tco-optimizat.
Calculați TCO
În cele din urmă, pe mașina dvs. locală, rulați tco-input-generator.py pentru a agrega jurnalele de istoric al lucrărilor YARN pe oră înainte de a utiliza un șablon Excel pentru a calcula TCO optimizat. Acest pas este crucial deoarece rezultatele simulează sarcinile de lucru Hadoop în viitoarele instanțe EMR.
Condiția prealabilă a simulării TCO este să ruleze tco-input-generator.py
, care generează jurnalele orare agregate. Apoi, deschideți un fișier șablon Excel pentru a activa macrocomenzi și pentru a furniza intrările dvs. în celule verzi pentru calcularea TCO. În ceea ce privește datele de intrare, introduceți dimensiunea reală a datelor fără replicare și specificațiile hardware (vCore, mem) ale nodului primar Hadoop și ale nodurilor de date. De asemenea, trebuie să selectați și să încărcați jurnalele agregate pe oră generate anterior. După ce ați setat variabilele de simulare TCO, cum ar fi Regiunea, tipul EC2, disponibilitatea ridicată Amazon EMR, efectul motorului, reducere Amazon EC2 și Amazon EBS (EDP), reducere de volum Amazon S3, rata monedei locale și raportul de prețuri de bază EMR EC2 și preț/oră, simulatorul TCO calculează automat costul optim al viitoarelor instanțe EMR pe Amazon EC2. Următoarele capturi de ecran arată un exemplu de rezultate HMDK TCO.
Pentru informații suplimentare și instrucțiuni privind calculele TCO HMDK, consultați repository GitHub de calculator-tco-optimizat.
A curăța
După ce ați finalizat toți pașii și ați terminat testarea, parcurgeți următorii pași pentru a șterge resurse pentru a evita costuri:
- Pe consola AWS CloudFormation, alegeți stiva pe care ați creat-o.
- Alege Șterge.
- Alege Șterge stiva.
- Actualizați pagina până când vedeți starea
DELETE_COMPLETE
. - Pe consola Amazon S3, ștergeți compartimentul S3 pe care l-ați creat.
Concluzie
Instrumentul AWS ProServe HMDK TCO reduce semnificativ eforturile de planificare a migrației, care sunt sarcinile costisitoare și provocatoare de evaluare a sarcinilor de lucru Hadoop. Cu instrumentul HMDK TCO, evaluarea durează de obicei 2-3 săptămâni. De asemenea, puteți determina TCO calculat al viitoarelor arhitecturi EMR. Cu instrumentul HMDK TCO, puteți înțelege rapid sarcinile de lucru și modelele de utilizare a resurselor. Cu informațiile generate de instrument, sunteți echipat pentru a proiecta viitoare arhitecturi EMR optime. În multe cazuri de utilizare, un TCO de 1 an al arhitecturii optimizate refactorizate oferă economii semnificative de costuri (reducere de 64–80%) la calcul și stocare, în comparație cu migrațiile Hadoop lift-and-shift.
Pentru a afla mai multe despre accelerarea migrărilor Hadoop către Amazon EMR și instrumentul HMDK CTO, consultați Hadoop Migration Delivery Kit TCO GitHub repo, sau contactați AWS-HMDK@amazon.com.
Despre autori
Parcul Sungyoul este Senior Practice Manager la AWS ProServe. El îi ajută pe clienți să-și inoveze afacerea cu servicii AWS Analytics, IoT și AI/ML. El are o specialitate în servicii și tehnologii de date mari și este interesat de a construi împreună rezultatele afacerii clienților.
Jiseong Kim este arhitect senior de date la AWS ProServe. Lucrează în principal cu clienții întreprinderilor pentru a ajuta la migrarea și modernizarea lacului de date și oferă îndrumare și asistență tehnică pentru proiecte de date mari, cum ar fi Hadoop, Spark, depozitare de date, procesare a datelor în timp real și învățare automată la scară largă. El înțelege, de asemenea, cum să aplice tehnologii pentru a rezolva problemele de date mari și a construi o arhitectură de date bine concepută.
George Zhao este arhitect senior de date la AWS ProServe. Este un lider experimentat în analiză, care lucrează cu clienții AWS pentru a oferi soluții moderne de date. El este, de asemenea, un specialist în domeniul ProServe Amazon EMR, care oferă consultanților ProServe cele mai bune practici și kituri de livrare pentru migrarea Hadoop la Amazon EMR. Domeniul său de interes sunt lacurile de date și livrarea arhitecturii moderne de date în cloud.
Kalen Zhang a fost liderul tehnologic al segmentului global al datelor și analizei partenerilor la AWS. În calitate de consilier de încredere pentru date și analize, ea a organizat inițiative strategice pentru transformarea datelor, a condus programe de migrare și modernizare a volumului de lucru de date și analize și a accelerat călătoriile de migrare a clienților cu parteneri la scară. Ea este specializată în sisteme distribuite, managementul datelor de întreprindere, analiză avansată și inițiative strategice la scară largă.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/big-data/deep-dive-into-the-aws-proserve-hadoop-migration-delivery-kit-tco-tool/
- 000
- 1
- 10
- 100
- 7
- a
- Capabil
- Despre Noi
- accelera
- accelerat
- Accelerează
- accelerarea
- accelerare
- accesibilitate
- Cont
- peste
- Ad
- plus
- Suplimentar
- informatii suplimentare
- În plus,
- avansat
- consilier
- După
- împotriva
- AI / ML
- TOATE
- Amazon
- Amazon EC2
- Amazon EMR
- printre
- analiză
- Google Analytics
- analiza
- analiza
- și
- api
- aplicație
- aplicatii
- Aplică
- în mod corespunzător
- arhitectură
- ZONĂ
- evaluare
- Asistență
- asociate
- în mod automat
- disponibilitate
- AWS
- Formarea AWS Cloud
- bazat
- bază
- deoarece
- fiind
- Beneficiile
- CEL MAI BUN
- Cele mai bune practici
- Mai bine
- între
- Mare
- Datele mari
- scurt
- construi
- Clădire
- afaceri
- calcula
- calculată
- calculează
- calcularea
- Calendar
- denumit
- apel
- capacități
- Capacitate
- cazuri
- Celule
- sigur
- provocare
- Diagramă
- Grafice
- Alege
- alegere
- Cloud
- Grup
- colecta
- Colectare
- colectare
- colector
- colecte
- COM
- comparabil
- comparaţie
- comparație
- Completă
- Calcula
- concentra
- concentrare
- Conduce
- efectuarea
- Conectați
- conexiune
- Connects
- consecutiv
- considerare
- Consoleze
- Consultantii
- consum
- conține
- Corespunzător
- A costat
- economii
- Cheltuieli
- Procesor
- a creat
- creează
- Criteriile de
- crucial
- CTO
- curator
- Monedă
- Curent
- client
- clienţii care
- cicluri
- zilnic
- tablou de bord
- de date
- Lacul de date
- management de date
- de prelucrare a datelor
- seturi de date
- zi
- Zi
- dedicat
- adânc
- scufundare adâncă
- livra
- livrare
- demonstrat
- Implementarea
- Amenajări
- proiect
- detalii
- Determina
- Dezvoltare
- deviere
- diferit
- Reducere
- distribui
- distribuite
- sisteme distribuite
- distribuire
- domeniu
- jos
- în timpul
- fiecare
- cu ușurință
- ebs
- ediţie
- efect
- eficacitate
- Eforturile
- încorporat
- permite
- activat
- permite
- un capăt la altul
- Motor
- Motoare
- asigura
- Intrați
- Afacere
- clienții întreprinderii
- echipat
- stabili
- Eter (ETH)
- evenimente
- Fiecare
- exemplu
- exemple
- Excel
- existent
- cu experienţă
- facilitând
- familii
- familie
- Caracteristică
- DESCRIERE
- camp
- Figura
- Fișier
- Fişiere
- Găsi
- termina
- următor
- format
- din
- funcționalități
- mai mult
- viitor
- General
- generată
- generează
- obține
- obtinerea
- GitHub
- Caritate
- Verde
- grup
- orientări
- Hadoop
- Piese metalice
- ajutor
- ajută
- Înalt
- istorie
- Stup
- concediu
- holistică
- ORE
- Cum
- Cum Pentru a
- HTML
- HTTPS
- ICON
- îmbunătățire
- in
- include
- Inclusiv
- individ
- persoane fizice
- informații
- inițiative
- inova
- intrare
- perspective
- instanță
- instrucțiuni
- interes
- interese
- introdus
- IoT
- IT
- Loc de munca
- Locuri de munca
- călătoriile
- JSON
- Cheie
- trusă
- lac
- mare
- pe scară largă
- lansa
- conduce
- lider
- AFLAȚI
- învăţare
- Led
- Led Date
- liste
- încărca
- local
- Lung
- perioadă lungă de timp
- Uite
- Lot
- maşină
- masina de învățare
- macro-uri
- Principal
- face
- administrare
- manager
- Manageri
- multe
- mijloace
- Între timp
- Memorie
- care fuzionează
- Metrici
- migrațiune
- minute
- mixt
- Modern
- modernizare
- Lună
- lunar
- mai mult
- multiplu
- Natură
- Nevoie
- următor
- nod
- noduri
- număr
- numere
- observa
- obținerea
- ONE
- deschide
- de operare
- operaţie
- optimă
- optimizate
- optimizarea
- optim
- organizații
- Altele
- special
- partener
- parteneri
- modele
- Vârf
- efectua
- performanță
- perioadă
- permisiune
- Locuri
- planificare
- Plato
- Informații despre date Platon
- PlatoData
- Politica
- posibil
- Post
- practică
- practicile
- premise
- în prealabil
- de stabilire a prețurilor
- primar
- anterior
- probleme
- prelucrare
- Programe
- Proiecte
- adecvat
- propus
- furniza
- furnizează
- Piton
- repede
- rată
- raport
- ajunge
- gata
- în timp real
- date în timp real
- recomanda
- recomandat
- înregistrări
- reduce
- cu privire la
- regiune
- regulat
- eliminarea
- replică
- resursă
- Resurse
- REZULTATE
- retenţie
- runde
- Alerga
- funcţionare
- acelaşi
- Economie
- Scară
- programa
- capturi de ecran
- secțiuni
- segment
- senior
- serie
- Servicii
- set
- instalare
- câteva
- comun
- Arăta
- prezenta
- semnificativ
- semnificativ
- asemănător
- simplu
- simulare
- Simulator
- situație
- Mărimea
- mic
- So
- soluţii
- REZOLVAREA
- unele
- Scânteie
- specialist
- specializată
- Specialitate
- specific
- Specificaţii
- stivui
- început
- statistică
- Stare
- Pas
- paşi
- depozitare
- Strategic
- prezenta
- astfel de
- Suportat
- sistem
- sisteme
- tabel
- adaptate
- ia
- Ţintă
- sarcini
- echipă
- echipe
- tech
- Tehnic
- Tehnologii
- șablon
- şabloane
- Testarea
- Viitorul
- lor
- prin urmare
- Prin
- timp
- Seria de timp
- consumă timp
- cronologie
- la
- împreună
- instrument
- Transforma
- Transformare
- transformat
- adevărat
- de încredere
- Tipuri
- în
- înţelege
- înţelegere
- înțelege
- Folosire
- utilizare
- Utilizator
- utilizatorii
- obișnuit
- diverse
- verifica
- vizualizare
- volum
- mers
- depozitare
- săptămână
- săptămânal
- săptămâni
- Ce
- Ce este
- care
- OMS
- ferestre
- fără
- flux de lucru
- de lucru
- fabrică
- yaml
- Ta
- zephyrnet