Johdatus Hadoop YARN -arkkitehtuuriin
MapReducea käytettiin sekä resurssien hallintaan että prosessointiin aiemmassa Hadoop-versiossa 1.0. Täällä Job Tracker suoritti resurssien allokoinnin, ajoituksen ja seurannan töitä osoittamalla kartta- ja vähentämistehtäviä Task Tracker -sovellukseen. Tämä johti sellaisiin asioihin kuin skaalautuvuus ja tehoton resurssien käyttö. Koska Hadoop-kehys on muuttunut useiden vuosien ajan; Voimme nähdä, että sitä voidaan käyttää suorittamaan paljon enemmän kuin vain MapReduce-töiden suorittamiseen. YARN on Yet Another Resource Negotiator, jota kutsutaan Hadoopin klusterinhallintajärjestelmäksi, joka otettiin käyttöön Hadoop 2.0: lla tukemaan hajautettua laskentaa, mikä myös parantaa MapReduce-sovelluksen toteutusta. YARNissa resurssienhallinta ja aikataulut ovat kehyksen ulkopuolisia. Joten lankassa YARN, vaikka meillä on datasolmuja, ei enää ole Tehtävien seurantaa tai Työn jäljittäjää. YARN: lla voi olla resurssienhallintaa sekä yleistä aikataulua. Tässä aiheessa aiomme oppia langan erilaisesta arkkitehtuurista
Selitä Hadoop YARN -arkkitehtuuri kaaviolla
(Hadoop YARNin arkkitehtuuri)
YARN esittelee resurssienhallinnan ja sovellusmallin käsitteen Hadoop 2.0: ssa. Resurssienhallinta näkee resurssien käytön Hadoop-klusterissa, kun taas tietyn klusterin käynnissä olevien sovellusten elinkaarta valvoo Application Master. Pohjimmiltaan voidaan sanoa, että klusterresurssien osalta Application Master neuvottelee Resurssienhallinnan kanssa. Tämän tehtävän suorittavat kontit, joilla on tietyt muistirajoitukset. Sitten näitä säilöjä käytetään sovelluskohtaisten prosessien suorittamiseen, ja myös klustereissa olevilla solmupisteillä toimivat solmupäälliköt valvovat näitä säiliöitä. Tämä vahvistaa, että sovellus ei käytä enempää kuin allokoituja resursseja.
Langan eri komponentit
Alla on langan eri komponentit.
1) Resurssienhallinta
YARN toimii Resurssienhallinnan kautta, joka on yksi per solmu, ja Node Manager, joka toimii kaikissa solmuissa. Resurssienhallinta hallitsee klusterissa käytettyjä resursseja, ja Node Manager lounastaa ja valvoo säilöjä. Aikataulu ja Application Manager ovat Resurssienhallinnan kaksi osaa.
- Aikataulu : Aikataulu suoritetaan sovellusten resurssien tarpeen perusteella. YARN tarjoaa muutamia aikatauluja, joista valita, ja ne ovat reiluja ja kapasiteetin aikataulijoita. Laitteisto- tai sovellusvirhetapauksissa Aikataulu ei varmista, että epäonnistuneet tehtävät käynnistetään uudelleen. Aikatauluttaja myös allokoi resurssit käynnissä oleville sovelluksille kapasiteetin ja jonon perusteella.
- Application Manager : Se hallitsee Application Masterin suorittamista klusterissa ja Application Master Containerin vikaantumisen yhteydessä auttaa sen käynnistämisessä uudelleen. Lisäksi se on vastuussa töiden jättämisen hyväksymisestä.
2) Solmujen hallinta
Solmuhallinta vastaa tehtävän suorittamisesta kussakin datasolmussa. YARN-solmunhallintaohjelma lähettää oletusarvoisesti sykemittarin Resurssienhallinnalle, joka kuljettaa käynnissä olevien säilöjen tietoja ja resurssien saatavuutta uusille säilöille. Se vastaa klusterin solmujen tarkastelusta erikseen ja hallinnoi tietyn solmun työnkulkua ja käyttäjän töitä. Pääasiassa se hallinnoi Resurssienhallinnan määrittelemiä sovelluskontteja. Solmun hallintaohjelma käynnistää säilöt luomalla pyydetyt säilöprosessit, ja se tappaa myös säilöt Resurssienhallinnan pyytämällä tavalla.
3) Kontit
Kontit on asetettu resursseille, kuten RAM, CPU ja muisti jne. Yhdellä solmulla, ja Resurssienhallinta ajoittaa ne ja Node Manager seuraa niitä. Säiliön elinkaari hallitsee YARN-säilöjä käyttämällä säilökäynnistyskontekstia ja tarjoaa pääsyn sovellukselle resurssien tiettyä käyttöä varten tietyssä isäntäkoneessa.
4) Sovelluspäällikkö
Se seuraa tehtävien suorittamista ja hallinnoi myös klusterissa toimivien sovellusten elinkaarta. Yksittäinen sovellusmestari liittyy työhön, kun se toimitetaan kehykseen. Sen päävastuu on neuvotella resursseista Resurssienhallinnasta. Se toimii Node Manager -sovelluksen avulla tehtävien seurannassa ja suorittamisessa.
Seuraavat vaiheet suoritetaan JARN-sovelluksen suorittamiseksi.
- Asiakas ottaa yhteyttä Resurssienhallintaan, joka pyytää suorittamaan sovellusprosessin, eli lähettää YARN-sovelluksen.
- Seuraava vaihe on, että Resurssienhallinta etsii Node Manager -sovellusta, joka puolestaan käynnistää Application Masterin säilössä.
- Application Master voi joko suorittaa suorituksen säilössä, jossa se parhaillaan toimii, ja toimittaa tuloksen asiakkaalle, tai se voi pyytää resurssienhallinnalta lisää säilöjä, joita voidaan kutsua hajautetuksi laskentaksi.
- Tämän jälkeen asiakas ottaa yhteyttä Resurssienhallintaan seurataksesi sovelluksen tilaa.
MapReduce-sovelluksella Hadoop-versiossa 1.0 (MRV1) määritettiin karttojen ja pienennettyjen aikavälien lukumäärä solmua kohti. Myös Hadoop-klusterissa, koska laitteistoominaisuudet vaihtelivat ja tietyn solmun tehtävien määrää oli rajoitettava manuaalisesti. Mutta YARN: n kanssa tämä puute korjataan, koska Resurssienhallinta tietää täällä kunkin solmun kapasiteetista kommunikoidessaan jokaisessa solmussa olevan Node Manager -sovelluksen kanssa.
Johtopäätös - Hadoop YARN -arkkitehtuuri
YARN auttaa voittamaan Hadoop 1.0: n MapReducen skaalautuvuusongelman, koska se jakaa Job Trackerin työn, sekä työn aikataulutuksen että tehtävien edistymisen seurannan. Saatavuuskysymys on myös ratkaistu, koska aiemmin Hadoop 1.0: ssa Job Tracker -vika johti tehtävien uudelleenkäynnistykseen. YARN mukana oli monia lisäbonuksia, kuten parempi resurssien käyttö, koska tehtäviin ei ole kiinteää paikkaa, koska se tarjoaa resurssienhallinnan keskitetysti. Joten YARN-palvelun avulla monet Hadoopin aikaisemman version ongelmat voitetaan, koska se auttaa erottamaan tietojenkäsittelyn ajoittamisesta ja resurssienhallinnasta. YARN: n avulla on mahdollista suorittaa vuorovaikutteisia kyselyitä itsenäisesti sekä tarjota parempaa reaaliaikaista analyysiä.
Suositellut artikkelit
Tämä on opas Hadoop YARN -arkkitehtuuriin. Tässä keskustellaan YARNin eri komponenteista, joihin kuuluvat Resource Manager, Node Manager ja Containers yhdessä arkkitehtuurin kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -
- Apache Hadoopin ekosysteemi
- Hadoop-ekosysteemikomponentit
- Hadoop-komponentit
- Hadoop-ekosysteemi