Introducere în Arhitectura HDFS

HDFS reprezintă sistemul de fișiere distribuite Hadoop care în sine spune că fișierele sunt împărțite în blocuri și stocate pe mai multe mașini.

Caracteristici ale HDFS

Caracteristicile HDFS care sunt următoarele:

1. Disponibilitate

În HDFS datele sunt replicate regulat printre nodurile de date prin crearea unei replici de blocuri pe celălalt nod de date. Deci, în caz de eroare hardware sau eroare, utilizatorul își poate obține datele dintr-un alt nod de date în care datele au fost reproduse.

2. Scalabilitate

În HDFS datele sunt stocate pe mai multe noduri de date sub formă de blocuri. HDFS permite utilizatorilor să crească dimensiunea blocurilor ori de câte ori este nevoie. Există două tipuri de mecanisme de scalabilitate utilizate în HDFS - scalabilitatea orizontală și scalabilitatea verticală.

3. replicare

Aceasta este caracteristicile unice ale HDFS care permit utilizatorului să aibă acces facil la datele sale în cazul unei defecțiuni hardware.

Arhitectură HDFS

HDFS urmărește arhitectura master-slave care are următoarele componente:

1. Nume Nume:

NameNode este, de asemenea, cunoscut sub numele de nod principal, deoarece gestionează toate blocurile care sunt prezente pe DataNodes.

NameNode efectuează următoarele sarcini:

  • Gestionați toate blocurile DataNode
  • Oferă acces la fișier utilizatorului
  • Păstrează toate înregistrările blocurilor prezente pe DataNode
  • NameNode înregistrează toate informațiile despre fișiere, de exemplu, dacă un nume de fișier este redenumit sau conținutul a fost schimbat sau șters NameNode înregistrează imediat această modificare în EditLogs
  • Este nevoie de înregistrările tuturor blocurilor din nodurile de date pentru a vă asigura că toate blocurile sunt vii pe DataNode.
  • În caz de eroare, în cazul în care se întâmplă o defecțiune hardware, selectează imediat un alt DataNode pentru a crea replicare și pentru a gestiona comunicarea către toate Datele

Tipuri de fișiere în NameNode

NameNode conține două tipuri de fișiere FsImage și EditLogs

i. FsImage: Se mai numește o imagine de fișier, deoarece conține toate informațiile de pe un sistem de fișiere cu spații de nume. Conține, de asemenea, toate directoarele și fișierele sistemului de fișiere într-o manieră serializată.

ii. EditLogs: Modificările curente efectuate în fișierele sistemului de fișiere sunt stocate în EditLogs.

2. Nume secundar Nume

Nume secundar Nume este, de asemenea, numit ca nod punct de verificare, deoarece efectuează puncte de control regulate. Acționează ca un ajutor pentru NameNode primar.

Nume secundar Nume execută următoarele sarcini

  • Nume secundar NameNode combină FsImage și EditLogs din NameNode.
  • Citește toate informațiile sistemului de fișiere din memoria de stocare a NameNode și scrie aceste informații pe un hard disk al sistemului de fișiere.
  • Descarcă FsImage și EditLogs din NameNode la intervale regulate și citește informațiile de modificare făcute fișierele EditLogs și notează modificarea la FsImage. Acest proces creează un nou FsImage care este apoi trimis înapoi la NameNode. Ori de câte ori NameNode va începe, va utiliza aceste FsImage.

3. DataNode

DataNode este cunoscut și sub numele de nod sclav, deoarece gestionează fiecare nod care conține date de pe o mașină sclavă. DataNode stochează datele în format de fișier ext3 sau ext4.

Nodul de date îndeplinește următoarele sarcini:

  • Toate datele sunt stocate pe DataNodes
  • Efectuează toate operațiunile de fișiere conform cererii utilizatorilor, de exemplu, citirea conținutului fișierului, scrierea de noi date în fișiere,
  • De asemenea, urmează toate instrucțiunile care sunt date de NameNode, de exemplu, redenumirea fișierului, ștergerea unor blocuri de pe DataNode, crearea de blocuri etc.

4. Nodul punctului de control:

Nodul punctului de control este un nod care a creat un punct de control al fișierelor la intervale regulate. Nodul punctului de control din HDFS, descărcați FsImage și EditLogs din NameNode și îmbinați-le pentru a crea o nouă imagine și a trimite acea nouă imagine la NameNode. Ultimul punct de control este stocat într-un director cu aceeași structură ca directorul namenodului. Din această cauză, imaginea punctată este întotdeauna disponibilă dacă este nevoie.

5. Nod de rezervă:

Funcția unui nod de rezervă este similară cu un nod Checkpoint pentru a efectua o sarcină de control. În Hadoop, nodul Backup stochează o copie mai recentă și actualizată a spațiului de nume al sistemului de fișiere. Nu este necesar să descărcați fișiere FsImage și editsLogs din NameNode activ pentru a crea un punct de control în nodul Backup, deoarece este sincronizat cu starea NameNode activă. Funcția nodului Backup este mai precisă, deoarece salvați spațiul de nume în fișierul FsImage local și resetați editLogs.

6. Blocuri:

Toate datele utilizatorilor sunt stocate în fișiere HDFS care sunt apoi împărțite în segmente mici. Aceste segmente sunt stocate în DataNodes. Segmentele care sunt prezente pe DataNodes sunt numite bloc. Dimensiunea implicită a acestor blocuri este 128 MB. Dimensiunea blocului poate fi modificată conform cerințelor utilizatorilor prin configurarea HDFS.

Dacă dimensiunea datelor este mai mică decât dimensiunea blocului, atunci dimensiunea blocului este egală cu dimensiunea datelor. De exemplu, dacă datele sunt de 135 MB, atunci se vor crea 2 blocuri. Unul va avea dimensiunea implicită 128 MB, iar celălalt va fi doar de 7 MB, nu 128 MB. Din această cauză, se economisește mult spațiu și ora ceasului discului.

Managementul replicării în arhitectura HDFS:

HDFS este tolerant la erori. Toleranța la erori este o putere a sistemului în caz de defecțiuni și modul în care acesta răspunde la erori și condiții dificile. Toleranța la erori funcționează pe baza procesului de creare a replicilor. Copii ale datelor utilizatorului sunt salvate pe utilaje din clusterul DHFS. Prin urmare, dacă există o defecțiune sau o defecțiune în sistem, o copie a acestor date poate fi accesată de la celelalte mașini ale clusterului HDFS. Fiecare bloc din arhitectura HDFS are 3 replici care sunt stocate în dateNode diferite. NameNode păstrează copiile disponibile în DataNodes. NameNode adaugă sau șterge copii pe baza criteriilor blocurilor replicate sau supra-replicate.

Operațiune de scriere

Pentru a scrie fișiere pe HDFS, clientul va comunica pentru metadate Numelui Nume. Nameode răspunde cu mai multe blocuri, locația lor, copii etc. Clientul împarte fișierele în mai multe blocuri pe baza informațiilor despre nume. Apoi, începe să le trimită la DataNode. În primul rând, clientul trimite blocul A la DataNode 1 cu alte informații despre DataNodes. Când DataNode 1 primește blocul A al clientului, DataNode 1 copiază același bloc în același rack pe DataNode 2. Din cauza cărora ambii DataNodes sunt în același rack, transferul blocului se face prin comutatorul rack. DataNode 2 copiază acum același bloc pe DataNode 3 Deoarece ambele dateNode se află în rafturi diferite, transferul blocului se face printr-un comutator out-of-rack. Odată ce DataNode primește blocurile clientului, acesta va trimite confirmarea la NameMode. Fiecare bloc al fișierului se repetă același proces.

Citiți operațiunea

Pentru operarea Citire, Primul client comunică pentru metadate Numelui Nume. Un client iese de la NameNode cu numele și locația fișierului. Nameode răspunde cu un număr de bloc, locație, copii și alte informații. După aceea, Clientul comunică către DataNodes. Pe baza informațiilor primite de la NameNode, clientul începe să citească datele în paralel de la DataNodes. Când tot blocul fișierului este primit de client sau aplicație, acesta combină aceste blocuri într-un formular original.

Concluzie - Arhitectură HDFS

Cu ajutorul NameNode și DataNode, acesta stochează în mod fiabil fișiere foarte mari pe mașini dintr-un cluster mare. Din cauza toleranței la erori, este util să accesați date în timp ce software-ul sau erorile hardware. Așa funcționează arhitectura HDFS.

Articole recomandate

Acesta a fost un ghid pentru Arhitectura HDFS. Aici am discutat conceptele de bază cu diferite tipuri de arhitectură, caracteristici și gestionarea replicării HDFS Architecture. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Ce este modelarea datelor?
  2. Ce este vizualizarea datelor
  3. Ce este un depozit de date?
  4. Ce este SQL Developer?

Categorie: