Zephyrnet-logo

YARN for Large Scale Computing: Beginner's Edition

Dato:

Introduksjon

YARN står for Yet Another Resource Negotiator. Det er et kraftig ressursstyringssystem for et horisontalt servermiljø. Det er designet for å være mer fleksibelt og generisk enn det originale Hadoop MapReduce-systemet, noe som gjør det til et attraktivt valg for selskaper som ønsker å implementere Hadoop. Det lar bedrifter behandle datatyper og kjøre forskjellige databehandlingsmotorer på samme klynge, som Spark, Hive, Pig, etc.

YARN
Kilde: bigdataschool

En av de kritiske egenskapene til YARN er evnen til å håndtere flere typer arbeidsbelastninger. Dette oppnås ved hjelp av to nøkkelkomponenter: Ressursbehandleren og Nodebehandleren. Ressursadministratoren allokerer ressurser til ulike applikasjoner, mens nodebehandleren administrerer ressursene på individuelle noder i klyngen.

YARN har mange applikasjoner og bruksområder, inkludert batchbehandling, interaktiv SQL, sanntidsstrømming, maskinlæring, grafbehandling, langvarige tjenester og stordatabehandling.

Læringsmål:

  1. Vi vil få en grunnleggende innføring i GARN.
  2. Da vil du lære om fordeler og ulemper ved å bruke den.
  3. Diskuter applikasjonene og brukstilfellene.
  4. Forstå den kritiske forskjellen mellom YARN og MapReduce.
  5. Og til slutt vil du få hands-on med ulike kodede og praktiske eksempler.

Innholdsfortegnelse

1. Fordeler og ulemper med GARN

2. Applikasjoner og brukstilfeller av GARN

3. Lær forskjellen: YARN vs. Map Reduce

4. Forstå konseptet med grunnleggende kodeeksempler

5. konklusjon

Fordeler og ulemper ved bruk av GARN

Det er fordeler med å bruke GARN for omfattende systemer, men det har også mange ulemper. Nedenfor er noen av fordelene og ulempene.

Fordeler med GARN:

  • Forbedret isolasjon og styring av ressurser: Det gir bedre isolasjon og styring av ressurser, noe som kan forbedre stabiliteten og ytelsen til klyngen.
  • fleksibilitet: Den kan håndtere flere typer arbeidsbelastninger, noe som lar bedrifter kjøre forskjellige typer applikasjoner på samme arbeid, noe som fører til forbedret forbruk av ressurser og kostnadsbesparelser.
  • Støtte for mange dataapplikasjoner: Den støtter mange distribuerte databehandlingsapplikasjoner, inkludert batchbehandling, interaktiv SQL, sanntidsstrømming og maskinlæring.
  • skalerbarhet: Det kan dynamisk skalere opp og ned i klyngen, slik at organisasjoner kan tilpasse seg endrede arbeidsbelastninger.
  • Rullende oppgraderings: Den støtter rullende oppgraderinger, noe som gjør at bedrifter forbedrer arbeidet sitt uten avbrudd i tjenesten.
  • Støtte for flere versjoner: Det lar organisasjoner kjøre flere versjoner av Hadoop på samme klynge.

Ulemper med GARN:

  • kompleksitet: Det kan være komplisert å sette opp og konfigurere og krever en god forståelse av klyngeoppsettet og konfigurasjonene for å utnytte mulighetene grundig.
  • Begrenset støtte for eldre applikasjoner: Den støtter bare noen av de eldre applikasjonene som er bygget for det originale Hadoop MapReduce-systemet.
  • Ressurstildeling: Dens ressursallokeringsalgoritme kan noen ganger være optimal for spesifikke arbeidsbelastninger.
  • Rettferdig ressursfordeling: Dens ressursallokeringsalgoritme kan bare noen ganger være rettferdig for forskjellige applikasjoner og brukere.
YARN
Kilde: educba

Applikasjoner og brukstilfeller av GARN

Den har mange applikasjoner og brukstilfeller som er svært fordelaktige for nåværende teknologigiganter. Noen av dem er omtalt nedenfor.

  • Batchbehandling: YARN kan aktivere batchbehandlingsjobber, for eksempel datavarehus og ETL (ekstrahere, transformere, laste). Dette gjør at organisasjoner kan behandle store mengder data effektivt og kostnadseffektivt.
  • Interaktiv SQL: YARN kan kjøre interaktive SQL-spørringer på store datasett. Dette lar organisasjoner utføre sanntidsanalyser og få innsikt fra dataene deres.
  • Sanntidsstrømming: YARN kan behandle strømmedata i sanntid, for eksempel loggdata, sensordata og sosiale mediedata. Dette lar organisasjoner få innsikt og ta beslutninger i nesten sanntid.
  • Maskinlæring: YARN kan brukes til å allokere maskinlæringsalgoritmer på store datasett. Dette gjør at organisasjoner kan bygge og trene modeller for ulike applikasjoner, som bilde og talegjenkjenning, naturlig språkbehandling og prediktiv analyse.
  • Grafbehandling: YARN kan behandle grafdata som sosiale nettverk og anbefalingssystemer. Dette lar organisasjoner analysere relasjoner og sammenhenger i dataene sine.
  • Langvarige tjenester: YARN kan tildele langvarige tjenester som webtjenester og datarørledninger. Dette gjør at organisasjoner kan distribuere og administrere disse tjenestene på en skalerbar og feiltolerant måte.
  • Stordatabehandling: YARN gjør det mulig for forskjellige databehandlingsmotorer å kjøre på samme klynge. Dette lar organisasjoner behandle strukturerte, semistrukturerte og ustrukturerte data ved hjelp av verktøy som Spark, Hive, gris osv.
YARN
Kilde: educba

Lær forskjellen: YARN vs. Map Reduce

Denne delen vil diskutere forskjellen mellom YARN og Map Reduce.

YARN Kart Redus
1. YARN (Yet Another Resource Negotiator) er et ressursstyringssystem for Hadoop som ble introdusert i Hadoop 2.0. 1. MapReduce er en programmeringsmodell og programvareramme for å behandle store datasett parallelt.
2. YARN er ansvarlig for å administrere ressurser, som CPU og minne, i en Hadoop-klynge og planlegge oppgaver for å utføre disse ressursene. 2. MapReduce er ansvarlig for å behandle dataene og generere resultatene.
3. YARN har en sentralisert arkitektur som gir bedre skalerbarhet og ressursstyring, mens MapReduce har en mer desentralisert arkitektur. Det gir mer fleksibilitet med hensyn til hvordan ressursene fordeles og brukes. 3. MapReduce er mer rigid i ressursallokering og bruk.
4. YARN gir mulighet for sanntidsbehandling av datastrømmer, mens MapReduce hovedsakelig brukes til batchbehandling av data. Det muliggjorde også bedre klyngeutnyttelse og økt ytelse. 4. MapReduce kan føre til underutnyttelse av ressurser og lavere ytelse i noen tilfeller
YARN
Kilde: slideplaye

Forstå konseptet med grunnleggende kodeeksempler

Denne delen vil diskutere noen grunnleggende eksempler som nybegynnere lett kan forstå, som å kjøre en enkel ordtellingsjobb ved å bruke YARN og MapReduce eller kjøre et Pig-skript med YARN.

Eksempel 1: Kjøre en enkel ordtellingsjobb ved å bruke YARN og Kart reduksjon:

$ hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input/text.txt /output/wordcount

I dette eksemplet bruker vi den innebygde ordtelling-eksempeljobben som følger med Hadoop. Vi sender to argumenter, inndatafilen /input/text.txt og utdatakatalogen /output/wordcount, hvor jobbresultatene vil bli lagret. Denne jobben vil telle antall forekomster av hvert ord i inndatafilen og skrive resultatene til utdatakatalogen.

Eksempel 2: Kjøre et griseskript med YARN:

$ gris -x garn -f /path/to/pig/script.pig

I dette eksemplet bruker vi Pig-kommandolinjegrensesnittet til å kjøre et Pig-skript som ligger på "/path/to/pig/script.pig" på en YARN-klynge. Alternativet "-x garn" forteller Pig å bruke GARN som utførelsesmodus. Dette kan brukes til å kjøre Pig-skript som utfører databehandling, datarensing og datatransformasjonsoppgaver.

Eksempel 3: Kjøre et Hive-søk med YARN:

$ hive -e "VELG * FRA mytable LIMIT 10"

I dette eksemplet bruker vi Hive-kommandolinjegrensesnittet til å kjøre en SQL-lignende spørring på en tabell kalt "mytable." Spørringen velger alle kolonner og rader fra tabellen og returnerer bare de ti første radene. Resultatene av spørsmålet vil bli skrevet ut på konsollen. Dette kan brukes til interaktiv dataspørring og utforskning.

Eksempel 4: Kjøre en Spark-jobb med YARN:

$ spark-submit --class org.example.MySparkJob --master yarn --deploy-mode client --executor-memory 512m --antall-executors 10 /path/to/jar/my-spark-job.jar arg1 arg2

I dette eksemplet bruker vi Spark-kommandolinjegrensesnittet til å sende inn en Spark-jobb kalt "MySparkJob" som er pakket i en jar-fil som ligger på "/path/to/jar/my-spark-job.jar". Jobben tar to argumenter, "arg1" og "arg2", sendt til hovedmetoden. Alternativet "–master garn" forteller Spark å bruke YARN som klyngeleder. "–deploy-mode client" betyr gnist for å kjøre driverprogrammet på klientmaskinen, og "–executor-memory 512m" og "–num-executors 10" brukes til å konfigurere mengden minne per eksekverer og antall eksekverere hhv.

konklusjonen

Avslutningsvis er YARN et kraftig ressursstyringssystem for Hadoop. Den lar ulike typer databehandlingsarbeidsbelastninger, koblingsbehandling, interaktive spørringer, sanntidsstrømming og maskinlæring kjøres på samme klynge. Det gir et sentralisert styringssystem for en Hadoop-klynge, noe som gjør det enklere å administrere og overvåke ressurser. Det er imidlertid viktig å merke seg at det har begrensninger, som ekstra kompleksitet, ineffektivitet i ressursallokering og begrenset støtte av spesifikke rammeverk og verktøy.

Viktige ting fra denne artikkelen:
1. Først har vi diskutert GARN-rammeverket. Det er et ressursstyringssystem for storskala distribuert databehandling i Hadoop som lar flere databehandlingsrammeverk kjøre på samme klynge.
2. Deretter diskuterte vi fordeler og ulemper ved å bruke den. Vi har diskutert skalerbarhet, fordelene med å lage klynge osv.
3. Etter det diskuterte vi brukstilfellene og skrev koden til noen av de primære applikasjonene, som å bruke et svineskript eller kjøre en enkel kommando for ordtelling.

Mediene vist i denne artikkelen eies ikke av Analytics Vidhya og brukes etter forfatterens skjønn.

spot_img

Siste etterretning

spot_img