„NameNode“ didelis prieinamumas naudojant „Quorum Journal Manager“



„NameNode High Availability“ yra viena iš svarbiausių „Hadoop 2.0“ funkcijų. „NameNode High Availability“ su „Quorum Journal Manager“ naudojama redagavimo žurnalams dalytis tarp aktyvių ir budėjimo vardų mazgų.

Tai yra viena iš svarbiausių „Hadoop 2.0“ savybių. Prieš aptariant „Namenode High Available“ funkciją, būtina žinoti, kas yra kvorumas. Kvorumas yra bendras klasteriuose vartojamas terminas, kuriame sakome, kad tam tikras klasteris yra stabilus. Kvorumas pateikia mašinų sąrašą ir padeda nustatyti klasterio būklę. Yra du kvorumo tipai: numatomas kvorumas ir apskaičiuotas kvorumas.



kaip įgyvendinti susietą sąrašą c

„NameNode“ didelis prieinamumas naudojant „Quorum Journal Manager“ (QJM)

Iki „Hadoop 2.0“ „NameNode“ buvo vienas gedimo taškas (SPOF) HDFS klasteryje. Kiekvienas klasteris turėjo vieną „NameNode“ ir jei ta mašina nebuvo pasiekiama, klasteris apskritai nebus pasiekiamas, kol „NameNode“ nebus paleistas iš naujo arba paleistas atskiroje mašinoje. Klasikinėje HA grupėje dvi atskiros mašinos yra sukonfigūruotos kaip NameNodes. Bet kuriuo metu vienas iš „NameNodes“ bus aktyvioje būsenoje, o kitas - budėjimo būsenoje. „Active NameNode“ yra atsakingas už visas kliento operacijas klasteryje, o budėjimo režimas paprasčiausiai veikia kaip vergas ir palaiko pakankamai būsenos, kad būtų galima greitai perjungti.

Kad budėjimo mazgas išlaikytų savo būseną suderintą su aktyviuoju mazgu, abu mazgai bendrauja su atskirų demonų grupe, vadinama „JournalNodes“ (JN). Kai bet kurį vardų srities pakeitimą atlieka „Active“ mazgas, jis žurnale „JournalNodes“ registruoja atliktų pakeitimų įrašą. Budėjimo mazgas gali nuskaityti pakeistą informaciją iš JN ir reguliariai stebi, ar joje nėra pokyčių. Kai budėjimo mazgas mato pakeitimus, jis juos taiko savo vardų srityje. Gedimo atveju budėjimo režimas įsitikins, kad perskaitė visus pakeitimus iš „JounalNodes“, prieš pakeisdamas būseną į „Aktyvioji būsena“. Tai garantuoja, kad vardų srities būsena bus visiškai sinchronizuota prieš įvykstant perjungimui.



Norint užtikrinti greitą perjungimą, būtina, kad budėjimo mazgas turėtų atnaujintą ir naujausią informaciją apie blokų vietą grupėje. Kad tai įvyktų, „DataNodes“ yra sukonfigūruoti abiejų „NameNodes“ vietomis ir siunčia blokų vietos informaciją bei širdies plakimą abiem.

Būtina, kad vienu metu būtų aktyvus tik vienas iš „NameNodes“. Priešingu atveju vardų srities būsena nukrypsta nuo dviejų ir lemia duomenų praradimą ar klaidingus rezultatus. Norėdami to išvengti, „JournalNodes“ rašytojui vienu metu leis tik vieną „NameNode“. Perkėlimo metu „NameNode“, kuris taps aktyvus, perims atsakomybę rašyti „JournalNodes“.

Turite mums klausimą? Prašau paminėti juos komentarų skiltyje ir mes su jumis susisieksime.



Susijusios žinutės:

„Hadoop 2.0 Cluster Architecture Federation“ apžvalga

kaip naudoti db naršyklę