Cuprins:
Video: Introduction to file systems (FAT, FAT32, NTFS, exFAT and MacOS) 2024
Sistemul de distribuire a fișierelor Hadoop este o abordare versatilă, rezistentă, clustered pentru gestionarea fișierelor într-un mediu de date mare. HDFS nu este destinația finală pentru fișiere. Mai degrabă, este un serviciu de date care oferă un set unic de capabilități necesare atunci când volumele și viteza datelor sunt ridicate. Deoarece datele sunt scrise o dată și apoi citite de mai multe ori ulterior, mai degrabă decât citirea constantă a altor sisteme de fișiere, HDFS este o alegere excelentă pentru susținerea unei analize mari a datelor.
Date mari NumeNodes
HDFS funcționează prin ruperea fișierelor mari în bucăți mai mici numite blocuri . Blocurile sunt stocate pe nodurile de date și este responsabilitatea NameNode să știe ce blocuri pe care nodurile de date alcătuiesc fișierul complet. NameNode acționează de asemenea ca un "polițist de trafic", gestionând tot accesul la fișiere.
Colecția completă a tuturor fișierelor din cluster este denumită uneori spațiul de nume al sistemului de fișiere . Este sarcina NameNode de a gestiona acest spațiu de nume.
Chiar dacă există o relație puternică între NumeNod și nodurile de date, acestea funcționează într-o manieră "cuplată în mod liber". Acest lucru permite elementelor cluster să se comporte dinamic, adăugând servere pe măsură ce crește cererea. Într-o configurație tipică, găsiți un NumeNod și posibil un nod de date care rulează pe un server fizic în rack. Alte servere rulează numai noduri de date.
nodurile de date comunică între ele pentru a putea coopera în timpul operațiilor normale de sistem de fișiere. Acest lucru este necesar deoarece blocurile pentru un fișier vor fi probabil stocate pe mai multe noduri de date. Deoarece NameNode este atât de critică pentru funcționarea corectă a clusterului, poate și ar trebui să fie reprodusă pentru a se proteja împotriva unei singure defecțiuni de punct.
Nodurile mari de date
Nodurile de date nu sunt inteligente, dar sunt rezistente. În cadrul clusterului HDFS, blocurile de date sunt reproduse în mai multe noduri de date, iar accesul este gestionat de NumeNod. Mecanismul de replicare este proiectat pentru o eficiență optimă atunci când toate nodurile grupului sunt colectate într-un rack. De fapt, NameNode utilizează un "ID de rack" pentru a ține evidența nodurilor de date din cluster.
Nodurile de date furnizează, de asemenea, mesaje de "inimă" pentru a detecta și a asigura conectivitatea dintre NumeNod și nodurile de date. Atunci când un bătăi de inimă nu mai este prezent, NameNode unmaps nodul de date din cluster și continuă să funcționeze ca și cum nimic nu sa întâmplat. Când se întoarce bataile inimii, se adaugă clusterului în mod transparent în ceea ce privește utilizatorul sau aplicația.
Integritatea datelor este o caracteristică-cheie. HDFS acceptă o serie de capabilități concepute pentru a asigura integritatea datelor. Așa cum v-ați putea aștepta, atunci când fișierele sunt rupte în blocuri și apoi distribuite pe diferite servere din cluster, orice variație în funcționarea oricărui element ar putea afecta integritatea datelor. HDFS folosește jurnalele de tranzacții și validarea sumelor de verificare pentru a asigura integritatea în cadrul clusterului.
Jurnalele de tranzacții urmăresc fiecare operațiune și sunt eficiente în auditarea sau refacerea sistemului de fișiere în cazul în care apar ceva necorespunzător.
Validările sumelor de control sunt utilizate pentru a garanta conținutul fișierelor în HDFS. Atunci când un client solicită un fișier, acesta poate verifica conținutul examinând suma de control. Dacă suma de control se potrivește, operația fișierului poate continua. Dacă nu, se semnalează o eroare. Fișele de verificare sunt ascunse pentru a evita manipularea frauduloasă.
Nodurile de date utilizează discuri locale pe serverul de mărfuri pentru persistență. Toate blocurile de date sunt stocate local, în primul rând din motive de performanță. Blocurile de date sunt reproduse pe mai multe noduri de date, astfel că eșecul unui server nu poate neapărat să corupe un fișier. Gradul de replicare, numărul de noduri de date și spațiul de nume HDFS se stabilesc atunci când clusterul este implementat.
HDFS pentru date mari
HDFS abordează provocări mari de date prin ruperea fișierelor într-o colecție de blocuri mai mici. Aceste blocuri sunt distribuite între nodurile de date din grupul HDFS și sunt gestionate de numeleNode. Dimensiunile blocurilor sunt configurabile și sunt, de obicei, 128 megabytes (MB) sau 256 MB, ceea ce înseamnă că un fișier de 1 GB consumă opt blocuri de 128 MB pentru nevoile de stocare de bază.
HDFS este rezistent, astfel că aceste blocuri sunt replicate în întregul cluster în cazul unei defecțiuni a serverului. Cum înregistrează HDFS toate piesele astea? Răspunsul scurt este sistemul de fișiere metadate .
Metadatele sunt definite ca "date despre date. "Gândiți-vă la metadatele HDFS ca șablon pentru a oferi o descriere detaliată a următoarelor:
-
Când fișierul a fost creat, accesat, modificat, șters și așa mai departe
-
Unde blocurile fișierului sunt stocate în cluster < Cine are dreptul să vizualizeze sau să modifice fișierul
-
Câte fișiere sunt stocate în cluster
-
Câte noduri de date există în cluster
-
Locația jurnalului de tranzacții pentru cluster
-
HDFS metadatele sunt stocate în NameNode și în timp ce grupul funcționează, toate metadatele sunt încărcate în memoria fizică a serverului NameNode. Așa cum v-ați putea aștepta, cu cât este mai mare clusterul, cu atât este mai mare amprenta metadatelor.
Ce anume face un server bloc? Consultați următoarea listă:
Stochează blocurile de date în sistemul de fișiere local al serverului. HDFS este disponibil pe multe sisteme de operare diferite și se comportă la fel în Windows, Mac OS sau Linux.
-
stochează metadatele unui bloc în sistemul de fișiere local bazat pe șablonul de metadate din numeleNode.
-
Efectuează validări periodice ale sumelor de control ale fișierelor.
-
Trimite rapoarte periodice către NameNode despre ce blocuri sunt disponibile pentru operațiile de fișiere.
-
Oferă metadate și date clienților la cerere. HDFS acceptă acces direct la nodurile de date din programele de aplicații client.
-
Transmite datele către alte noduri de date pe baza unui model de "pipelining".
-
Plasarea blocurilor pe nodurile de date este esențială pentru replicarea datelor și suportul pentru configurarea datelor. HDFS păstrează o replică a fiecărui bloc local. HDFS este serios cu privire la replicarea datelor și rezistența.