Uvod u HDFS arhitekturu

HDFS znači Hadoop Distributed File System koji sam kaže da su datoteke podijeljene u blokove i pohranjene na nekoliko strojeva.

Značajke HDFS-a

Značajke HDFS-a su sljedeće:

1. Dostupnost

Podaci u HDFS redovito se repliciraju među čvorovima podataka stvaranjem replike blokova na drugom čvoru podataka. Stoga u slučaju bilo kakvog kvara hardvera ili pogreške korisnik može dobiti svoje podatke iz drugog čvora podataka u kojem su se podaci replicirali.

2. Skalabilnost

U HDFS podaci se pohranjuju na više čvorova podataka u obliku blokova. HDFS omogućava korisnicima da povećaju veličinu blokova kad god je potrebno. Postoje dvije vrste mehanizma skalabilnosti koji se koriste u HDFS-u - horizontalna skalabilnost i vertikalna skalabilnost.

3. Replikacija

Ovo je jedinstvena značajka HDFS-a koja korisniku omogućava lak pristup svojim podacima u slučaju bilo kakvog kvara hardvera.

HDFS Arhitektura

HDFS slijedi master-slave arhitekturu koja ima sljedeće komponente:

1. NameNode:

NameNode je također poznat kao glavni čvor jer obrađuje sve blokove koji su prisutni u DataNodesima.

NameNode obavlja sljedeće zadatke:

  • Upravljajte svim blokovima DataNode
  • Korisniku omogućuje pristup datoteci
  • Čuva sve zapise blokova prisutnih na DataNode
  • NameNode bilježi sve podatke datoteka, na primjer, ako je naziv datoteke preimenovan ili je sadržaj promijenjen ili izbrisan NameNode odmah zabilježi tu promjenu u EditLogs
  • Potrebna je evidencija svih blokova iz čvorova podataka da bi se osiguralo da su svi blokovi živi na DataNodeu.
  • U slučaju pogreške, ako se dogodi bilo koji hardverski kvar, odmah odabire drugi DataNode kako bi stvorio replikaciju i upravljao komunikacijom sa svim DataNodes

Vrste datoteka u NameNode

NameNode sadrži dvije vrste datoteka FsImage i EditLogs

ja. FsImage: Naziva se i slika datoteke jer sadrži sve informacije u datotečnom sustavu s prostorom imena. Sadrži i sve direktorije i datoteke datotečnog sustava na serializirani način.

ii. EditLogs: Trenutne izmjene izvršene u datotekama datotečnog sustava pohranjuju se u EditLogs.

2. Sekundarni nazivNode

Sekundarni NameNode naziva se i kao čvor kontrolne točke jer obavlja redovite kontrolne točke. Djeluje kao pomoćnik primarnom NameNode-u.

Sekundarni NameNode obavlja sljedeće zadatke

  • Sekundarni NameNode kombinira FsImage i EditLogs iz NameNode.
  • Čita sve podatke datotečnog sustava iz memorije za pohranu NameNode i upisuje ih na tvrdi disk datotečnog sustava.
  • U pravilnim intervalima preuzima FsImage i EditLogs s NameNode-a i čita podatke o modifikacijama, učinjene u EditLogs datotekama, i bilježi izmjene na FsImage. Ovaj proces stvara novu FsImage koja se vraća na NameNode. Kad god će se ImeNode pokrenuti, on će koristiti ove FsImage.

3. DataNode

DataNode je također poznat kao podređeni čvor jer obrađuje svaki čvor koji sadrži podatke na podređenom stroju. DataNode pohranjuje podatke u formatu ext3 ili ext4.

Čvor podataka obavlja sljedeće zadatke:

  • Svi se podaci pohranjuju na DataNodes
  • Obavlja sve operacije datoteka prema zahtjevu korisnika, na primjer, čitanje sadržaja datoteka, pisanje novih podataka u datoteke,
  • Također slijedi sve upute koje daje NameNode, na primjer, preimenovanje datoteke, brisanje nekih blokova u DataNode, stvaranje blokova itd.

4. Čvor kontrolne točke:

Čvor kontrolne točke je čvor koji je u pravilnim intervalima stvarao kontrolnu točku datoteka. Čvor kontrolne točke u HDFS-u, preuzmite FsImage i EditLogs s NameNode-a i spojite ih da biste stvorili novu sliku i tu novu sliku poslali u NameNode. Najnovija kontrolna točka pohranjena je u mapu s istom strukturom kao i direktorij namenode. Zbog toga je označena slika uvijek dostupna ako treba.

5. Rezervni čvor:

Funkcija rezervnog čvora slična je čvoru Checkpoint za obavljanje zadatka kontrolne točke. U Hadoopu, Backup čvor pohranjuje najnoviju i ažuriranu kopiju prostora naziva datoteka. Nema potrebe za preuzimanjem datoteka FsImage i editsLogs s aktivnog NameNode-a da biste stvorili kontrolnu točku u Backup čvoru jer je ona sinkronizirana sa stanjem aktivnog NameNode. Funkcija čvora Backup je preciznija jer spremite imenski prostor u lokalnu FsImage datoteku i resetirajte editLogs.

6. Blokovi:

Svi podaci korisnika pohranjeni su u datoteke HDFS-a koje su zatim podijeljene u male segmente. Ti su segmenti pohranjeni u DataNodes. Segmenti prisutni na DataNodovima nazivaju se kao blok. Zadana veličina blokova za ove blokove je 128 MB. Veličina bloka može se promijeniti prema zahtjevima korisnika konfiguriranjem HDFS-a.

Ako je veličina podataka manja od veličine bloka, tada je veličina bloka jednaka veličini podataka. Na primjer, ako su podaci od 135 MB, tada će se stvoriti 2 bloka. Jedna će biti zadane veličine 128 MB, a druga će biti samo 7 MB, a ne 128 MB. Zbog toga se štedi puno prostora i vremena na disku.

Upravljanje replikacijom u HDFS arhitekturi:

HDFS je tolerantan na pogreške. Tolerancija je snaga sustava u slučaju kvarova i kako reagira na pogreške i teške uvjete. Tolerancija na pogreške funkcionira na temelju procesa stvaranja replike. Kopije korisničkih podataka spremaju se na strojeve u DHFS klasteru. Dakle, ako dođe do kvara ili kvara u sustavu, kopiji tih podataka može se pristupiti s drugih strojeva HDFS klastera. Svaki blok u HDFS arhitekturi ima 3 replike koje su pohranjene u različitim DataNodes. NameNode održava kopije dostupne u DataNodes. NameNode dodaje ili briše kopije na temelju kriterija ispod repliciranih ili pre repliciranih blokova.

Operacija pisanja

Za pisanje datoteka na HDFS klijent će komunicirati zbog metapodataka u NameNode. Nameode odgovara s nekoliko blokova, njihovom lokacijom, kopijama itd. Klijent dijeli datoteke u više blokova na temelju podataka o nameode. Zatim ih počinje slati u DataNode. Prvo, klijent šalje blok A u DataNode 1 s ostalim informacijama o DataNodima. Kada DataNode 1 primi klijentov blok A, DataNode 1 kopira isti blok u isti stalak u DataNode 2. Budući da su oba DataNoda u istom stalak, prijenos bloka se vrši putem stalka. DataNode 2 sada kopira isti blok u DataNode 3 Budući da su oba DataNodes u različitim stalakima, prijenos bloka se vrši preko vanjskog brojača. Nakon što DataNode primi klijentove blokove, poslat će potvrdu NameModeu. Svaki blok datoteke ponavlja se isti postupak.

Pročitajte rad

Za postupak čitanja, prvi klijent komunicira metapodatke na NameNode. Klijent izlazi iz NameNode s imenom datoteke i lokacijom. Nameode reagira s brojem bloka, lokacijom, kopijama i drugim informacijama. Nakon toga, klijent komunicira s DataNodes. Na temelju podataka dobivenih od NameNode, klijent započinje paralelno čitanje podataka iz DataNodes. Kad klijent ili aplikacija primi sav blok datoteke, kombinira te blokove u izvorni oblik datoteke.

Zaključak - HDFS Arhitektura

Uz pomoć NameNode i DataNode pouzdano pohranjuje vrlo velike datoteke na strojevima u velikom klasteru. Zbog tolerancije grešaka, korisno je pristupiti podacima tijekom kvara softvera ili hardvera. Tako djeluje HDFS arhitektura.

Preporučeni članci

Ovo je vodič za HDFS arhitekturu. Ovdje smo razgovarali o osnovnim konceptima s različitim vrstama arhitekture, značajkama i upravljanju replikacijom HDFS arhitekture. Možete i proći naše druge predložene članke da biste saznali više -

  1. Što je modeliranje podataka?
  2. Što je vizualizacija podataka
  3. Što je skladište podataka?
  4. Što je SQL Developer?

Kategorija: