2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Artikkelihakemisto
Hadoop-langan tärkeimmät arkkitehtoniset periaatteet
4. Lankan kolmen resurssiaikataulun ominaisuudet ja käyttöskenaariot
Apache Hadoop Yarn (Yet Another Reasource Negotiator, toinen resurssien koordinaattori) on Hadoop2.x-version jälkeen käytetty resurssienhallinta, joka voi tarjota yhtenäisen resurssienhallintaalustan ylemmän tason sovelluksille.
Lanka koostuu pääasiassa ResourceManagerista, NodeManagerista, ApplicationMasterista ja Containerista.
Resource Manager
ResourceManager on Yarn-klusterin keskusvastaava ja vastaa koko klusterin resurssien allokoinnista ja ajoituksesta. ResourceManager vastaa NodeManager-solmujen tilan seurannasta, klusteriresurssien keräämisestä, asiakkaan lähettämien tehtävien resurssipyyntöjen käsittelystä sekä kunkin sovelluksen ApplicationMasterin käynnistämisestä ja valvonnasta.
NodeManager
NodeManager on vastuussa kunkin solmun resurssien (kuten muistin, suorittimen jne.) hallinnasta ja raportoinnista ResourceManagerille. Kun ResourceManager määrittää säilön (säilön) NodeManagerille, NodeManager on vastuussa säilön käynnistämisestä ja säilön toiminnan valvonnasta. Lisäksi NodeManager vastaanottaa myös ApplicationMaster-komennon käynnistääkseen säilön (Container) jokaiselle sovellukselle.
ApplicationMaster
Jokainen Yarnissa käynnissä oleva sovellus käynnistää vastaavan ApplicationMasterin, joka vastaa resurssien hakemisesta ResourceManagerin avulla ja sovellustehtävien hallinnasta. ApplicationMaster on pohjimmiltaan resurssien ajoitus, jonka suorittaa ResourceManager ja käynnistää sen. Kun ApplicationMaster on käynnistetty, se hakee resursseja ResourceManagerista sovelluksen suorittamiseen, ja ApplicationMaster muodostaa yhteyden vastaavaan NodeManageriin. Säilön käynnistäminen ja Säilön resurssien hallinta.
Säiliö
Container Container on Yarnin perussuoritusyksikkö, jota käytetään sovellustehtävien suorittamiseen. Se on virtuaalinen ympäristö, joka sisältää sovelluskoodin, riippuvuuksia ja toiminnan edellyttämiä resursseja (muisti, suoritin, levy, verkko). ResourceManager määrittää jokaisen säilön ApplicationMasterille, ja NodeManager käynnistää ja hallitsee sitä vastaavassa solmussa. NodeManager valvoo säilön resurssien käyttöä ja raportoi ResourceManagerille tarvittaessa.
Yarnin ydin on erottaa MR1:n JobTrackerin resurssienhallinta- ja tehtävien ajoitustoiminnot, jotka toteutetaan vastaavasti ResourceManager- ja ApplicationMaster-prosessissa. ResourceManager vastaa koko klusterin resurssienhallinnasta ja aikataulusta sovellusten tehtävien ajoitus, tehtävien valvonta ja vikasietoisuus.
Kun asiakas lähettää MR-tehtävän Yarnille, MR-tehtävän resurssit (jako, resurssimääritys, Jar-paketin tiedot) ladataan ensin HDFS:ään.
Asiakas pyytää ResourceManageria käynnistämään ApplicationMasterin.
ResourceManager valitsee NodeManager-solmun, joka ei ole suhteellisen kiireinen, ja pyytää solmua käynnistämään ApplicationMasterin (Container).
Kun ApplicationMaster on käynnistetty, se lataa MR-tehtävän resurssitiedot HDFS:stä paikalliseen ja hakee sitten resursseja ResourceManagerista aloittaakseen MR-tehtävän.
ResourceManager palauttaa resurssiluettelon ApplicationMasterille.
ApplicationMaster kehottaa sitten vastaavaa NodeManageria käynnistämään säilön.
Kun säilö on käynnistetty, se rekisteröidään käänteisesti ApplicationMasteriin.
ApplicationMaster lähettää tehtävän säilöön suoritettavaksi, ja Tehtävä suorittaa kirjoittamamme koodin liiketoimintalogiikan.
FIFO-aikataulu (First-In-Fist-Out Scheduler) , Lankan yksinkertaisin aikataulu. FIFO Scheduler asettaa lähetetyt hakemukset ensimmäinen sisään, ensimmäinen ulos -jonoon lähetysjärjestyksessä. ylimmän sovelluksen resurssivaatimukset täyttyvät Sovellus varaa resursseja ja niin edelleen. Kun tällainen ajastin ajoittaa resursseja, on mahdollista, että sovellus, jolla on suuria resurssivaatimuksia, vie kaikki klusterin resurssit, mikä aiheuttaa muiden sovellusten eston.
Kapasiteetin ajoitus (Capacity Schduler) Se on Yarnissa määritetty oletusresurssien ajoitus, jonka avulla useat vuokralaiset voivat turvallisesti jakaa suuren klusterin. Kapasiteetin ajoitus tukee useiden resurssijonojen määrittämistä. Voit määrittää kunkin resurssijonon vähimmäis- ja enimmäisresurssisuhteet. jokainen resurssijono ottaa käyttöön FIFO-ajoitusstrategian sisäisesti.
Reilu aikatauluttajaSe on resurssien ajoitusmenetelmä, joka allokoi langan resurssit reilusti kullekin sovellukselle.
Ero FIFO-, Capacity- ja Fair-resurssien ajoittajien välillä langassa on seuraava:
Lankaresurssien ajoitus | ominaisuudet | Sovellettava kohtaus |
FIFO-aikataulu | 1. Yksinkertainen ja helposti ymmärrettävä, lisäasetuksia ei tarvita. 2. Hakemukset suoritetaan niiden jättöjärjestyksessä (ensimmäinen sisään, ensimmäinen ulos). 3. Ei sovellu jaetuille klusteille, jokaisen sovelluksen on odotettava vuoroaan käynnistyäkseen. | Ei-jaetut klusterit, skenaariot, joilla ei ole korkeita vaatimuksia tehtävien suoritusjärjestykseen. Ei yleensä käytetä tuotantoympäristöissä. |
Kapasiteetin ajastin (käytetään oletuksena avoimen lähdekoodin langassa) | 1. Salli useiden organisaatioiden jakaa klusterin resursseja, ja jokaisella organisaatiolla on oma jono. 2. Tukee jonojen hierarkkista jakoa ja jonoresurssien joustavaa konfigurointia. 3. Voit rajoittaa jonon enimmäiskapasiteettia ja vähentää resurssien kilpailua. | Jaetut klusteriskenaariot, joissa useat organisaatiot tai tiimit jakavat samat klusteriresurssit. |
Kohtuullinen aikataulu (CDH käyttää oletuksena) | 1. Kohdista resurssit oikeudenmukaisesti kaikille käynnissä oleville sovelluksille ja tue resurssien oikeudenmukaista jakamista useiden jonojen kesken. 2. Tukee dynaamista jonojen luomista ja määritä sovellusten sijoitus sääntöjärjestelmien avulla. 3. Tue resurssien etuostotoimintoa resurssien oikeudenmukaisen jakautumisen varmistamiseksi. | 1. Skenaariot, joissa useiden käyttäjien tai organisaatioiden on hankittava resursseja tasapuolisesti jaetussa klusterissa. 2. Ympäristöt, joissa on korkeat vaatimukset jonotason resurssien hallinnasta ja hienojakoisista ajoitusstrategioista. |