Cluster Mode Overview

tämä asiakirja antaa lyhyen yleiskuvan siitä, miten Spark toimii klustereissa, jotta siihen liittyvät komponentit olisi helpompi ymmärtää. Lue hakemusten jättämisen opas, jossa kerrotaan hakemusten käynnistämisestä klusterissa.

Kipinäsovellukset toimivat klusterissa itsenäisinä prosessijoukkoina, joita koordinoi pääohjelmasi SparkContextolio (jota kutsutaan ajuriohjelmaksi).

erityisesti, jotta SparkContext toimisi klusterissa, se voi kytkeytyä useisiin klusterinhallintatyyppeihin (joko Sparkin omaan erilliseen klusterinhallintaohjelmaan, Mesoihin tai lankaan), jotka jakavat resursseja acrossovelluksiin. Kun yhteys on kytketty, Spark hankkii suorittajia klusterin solmuista, jotka ovat prosesseja, jotka suorittavat laskelmia ja tallentavat tietoja sovellukseesi.Seuraavaksi se lähettää sovelluskoodisi (määritelty JAR-tai Python-tiedostoilla, jotka välitetään Sparkcontextille) toimeenpanijoille. Lopuksi SparkContext lähettää tehtäviä suorittajille suoritettavaksi.

on olemassa useita hyödyllisiä asioita huomata tästä arkkitehtuurista:

  1. jokainen sovellus saa omat toimeenpanijaprosessinsa, jotka pysyvät ylhäällä koko sovelluksen keston ajan ja suorittavat tehtäviä useissa säikeissä. Tämän etuna on sovellusten eristäminen toisistaan sekä aikataulutuspuolella (jokainen kuljettaja aikatauluttaa omat tehtävänsä) että suorittimen puolella (eri sovellusten tehtävät suoritetaan eri JVMs: ssä). Se tarkoittaa kuitenkin myös, että tietoja ei voida jakaa eri Spark-sovellusten kesken (sparkcontext-instanssit) ilman, että ne kirjoitetaan ulkoiseen tallennusjärjestelmään.
  2. Spark on agnostikko taustalla olevalle klusterin johtajalle. Niin kauan kuin se voi hankkia executorprocesseja, ja nämä kommunikoivat keskenään, se on suhteellisen helppo suorittaa jopa acluster manager, joka tukee myös muita sovelluksia (esim.Mesos/Lanka).
  3. ajuriohjelman on kuunneltava ja hyväksyttävä saapuvia yhteyksiä suorittajiltaan läpi koko eliniän (esim.katso spark.ohjain.portti verkon configsection). Näin ollen ajuriohjelman on oltava verkossakäytettävissä työntekijän solmukohdista.
  4. koska kuljettaja aikatauluttaa tehtäviä klusterissa, se tulisi ajaa lähellä työpisteitä, mieluiten samassa lähiverkossa. Jos haluat lähettää pyyntöjä toimitukseen etänä, on parempi avata RPC kuljettajalle ja saada se lähettämään operaatioita lähistöltä kuin ajaa kuljettaja kauas työntekijöiden solmukohdista.

Klusterijohtajatyypit

järjestelmä tukee tällä hetkellä useita klusterijohtajia:

  • Standalone – yksinkertainen klusterinhallinta sisältyy Sparkiin, joka tekee klusterin perustamisesta helppoa.
  • Apache Mesos – yleinen klusterijohtaja, jolla voi ajaa myös Hadoop-MapReduce-ja palvelusovelluksia.
  • Hadoop Lanka-resurssipäällikkö Hadoop 2: ssa.
  • Kubernetes-avoimen lähdekoodin järjestelmä konttisovellusten käyttöönoton, skaalauksen ja hallinnan automatisointiin.

kolmannen osapuolen projekti (jota Spark-projekti ei tue) on olemassa lisätäkseen fornomadin tuen klusterin hallinnoijaksi.

hakemusten jättäminen

Hakemukset voidaan toimittaa minkä tahansa tyyppiseen klusteriin käyttäen spark-submit – skriptiä.Hakemuksen jättämisen oppaassa kerrotaan, miten tämä tehdään.

seuranta

jokaisella ajuriohjelmalla on web-käyttöliittymä, tyypillisesti portilla 4040, joka näyttää tietoja suoritustehtävistä, suorittajista ja tallennustilan käytöstä. Siirry kohtaan verkkoselaimessa saadaksesi tämän käyttöliittymän käyttöön. Seurantaoppaassa kerrotaan myös muista seurantavaihtoehdoista.

työn aikataulutus

kipinä antaa kontrollin resurssien kohdentamisesta sekä sovellusten välillä (clustermanagerin tasolla) että sovellusten sisällä (jos useita laskelmia tapahtuu samassa Kipinätekstissä).Tätä kuvataan tarkemmin työn aikataulukatsauksessa.

Sanasto

seuraavassa taulukossa on yhteenveto klusterikäsitteisiin viittaavista termeistä:

termi merkitys
Application User program built on Spark. Koostuu ajuriohjelmasta ja klusterin toteuttajista.
Sovelluspurkki purkki, jossa on käyttäjän kipinä-sovellus. Joissakin tapauksissa käyttäjät haluavat luoda ”uber-purkin”, joka sisältää heidän sovelluksensa riippuvuuksineen. Käyttäjän purkissa ei saa koskaan olla Hadoop-tai Spark-kirjastoja, mutta ne lisätään suorituksen aikana.
ajuriohjelma prosessi, joka ajaa sovelluksen pääfunktiota ja luo Sparkcontekstin
klusterin johtaja ulkopuolinen palvelu klusterin resurssien hankkimiseksi (esim. itsenäinen johtaja, Mesos, Lanka)
käyttöönottotila erottaa missä ajuriprosessi kulkee. ”Cluster” – tilassa kehys käynnistää kuljettajan klusterin sisällä. ”Client” – tilassa lähettäjä käynnistää ajurin klusterin ulkopuolella.
Työntekijäsolmu mikä tahansa solmu, joka voi suorittaa ohjelmakoodin klusterissa
Suorittaja työsolmussa sovellukselle käynnistetty prosessi, joka suorittaa tehtäviä ja pitää tiedot muistissa tai levymuistissa niiden yli. Jokaisella sovelluksella on omat toteuttajansa.
tehtävä työyksikkö, joka lähetetään yhdelle toimeenpanijalle
tehtävä useista tehtävistä koostuva Rinnakkaislaskenta, joka saa kipinätoiminnon (esim. save, collect); tätä termiä käytetään kuskien lokikirjoissa.
vaihe jokainen työ jaetaan pienempiin tehtäväsarjoihin, joita kutsutaan vaiheiksi, jotka riippuvat toisistaan (samanlainen kuin kartta ja vähentää vaiheita Mapreducessa); tätä termiä käytetään kuljettajan lokissa.

Vastaa

Sähköpostiosoitettasi ei julkaista.

Previous post Kyllä, Nintendo Romsin Lataaminen on laitonta (vaikka omistaisit pelin)
Next post nimimerkit