what is hadoop apache hadoop tutorial
Acest tutorial Apache Hadoop pentru începători explică totul despre Big Data Hadoop, caracteristicile sale, cadrul și arhitectura în detaliu:
care este cea mai bună eliminare gratuită a virusului
În tutorialul anterior, am discutat în detaliu despre Big Data. Acum întrebarea este cum putem gestiona și procesa un volum atât de mare de date cu rezultate fiabile și precise.
Există într-adevăr o soluție excelentă oferită de Apache și alimentată de Java, adică Hadoop Framework .
=> Citiți seria Easy Training BigData.
Ce veți învăța:
Ce este Hadoop?
Apache Hadoop este un cadru open-source pentru a gestiona toate tipurile de date (structurate, nestructurate și semi-structurate).
După cum știm cu toții, dacă vrem să procesăm, să stocăm și să gestionăm datele noastre, atunci RDBMS este cea mai bună soluție. Dar datele ar trebui să fie într-un format structurat pentru a le gestiona cu RDBMS. De asemenea, dacă dimensiunea datelor crește, atunci RDBMS nu este capabil să le manipuleze și trebuie să efectuăm curățarea bazei de date în mod regulat.
Acest lucru poate provoca pierderi istorice de date și nu poate genera rezultate exacte și fiabile în unele dintre industrii, cum ar fi Prognoza meteo, Servicii bancare, Asigurări, Vânzări etc. O altă problemă cu RDBMS este că, dacă serverul principal cade, atunci putem pierde importanța noastră date și suferă mult.
În acest tutorial, vom vedea cum putem depăși aceste probleme cu Apache Hadoop.
Hadoop este un sistem de fișiere distribuit și poate stoca volume mari de date (date în petabyte și terabyte). Viteza de procesare a datelor este, de asemenea, foarte rapidă și oferă rezultate fiabile, deoarece are un sistem de toleranță la erori foarte mare.
Hadoop este un cadru de programare open-source bazat pe Java care acceptă stocarea și procesarea seturilor de date mari într-un mediu de calcul distribuit.
Hadoop se bazează pe un concept de cluster care folosește hardware de marfă. Nu necesită nicio configurație complexă și putem stabili mediul Hadoop cu hardware de configurare mai ieftin, simplu și ușor.
Conceptul de cluster în cuvinte simple este datele stocate în format de replicare pe mai multe mașini, astfel încât, atunci când apare o problemă sau un dezastru în una dintre locațiile în care se află datele, trebuie să existe o copie duplicat a acestor date disponibile în siguranță într-o altă locație .
Hadoop Vs RDMBS
Mai jos sunt prezentate câteva puncte care descriu avantajele Hadoop față de RDBMS.
Caracteristici | Hadoop | RDBMS |
---|---|---|
Depozitare | Capacitate foarte mare de stocare. | Nu se poate stoca Bigdata. |
Arhitectură | Hadoop se bazează pe HDFS, MapReduce și YARN. | RDBMS se bazează pe proprietăți ACID. |
Volum | Poate gestiona un volum mare de date. | RDBMS nu poate gestiona un volum mare de date. |
Varietate / tipuri de date | Poate gestiona date structurate, semi-structurate și nestructurate, cum ar fi video, imagini, fișiere CSV, XML etc. | Manevrați doar date structurate. |
Viteză | Prelucrare rapidă a unor cantități mari de date. | Foarte lent în timp ce prelucrați o cantitate mare de date. |
Randament | Debit ridicat. | Debit redus. |
Toleranță la erori | Foarte bine | Nu este capabil să recupereze datele pierdute dacă serverul principal cade. |
De încredere | Foarte fiabil și generează rapoarte istorice și actuale precise. | Nu este de încredere în ceea ce privește Bigdata. |
Caracteristici Hadoop
Știm acum definiția exactă a Hadoop. Să facem un pas înainte și să ne familiarizăm cu terminologiile pe care le folosim în Hadoop, să învățăm arhitectura acestuia și să vedem cum funcționează exact pe Bigdata.
Cadrul Hadoop se bazează pe următoarele concepte sau module:
- Hadoop YARN
- Hadoop comun
- Hadoop HDFS ( H adoop D repartizat F cu S ystem)
- Hadoop MapReduce
# 1) Hadoop YARN: YARN înseamnă „ Da și LA nother R esursa N egoiator ”care este folosit pentru a gestiona tehnologia cluster a cloud-ului. Este folosit pentru programarea lucrărilor.
# 2) Hadoop comun: Aceasta este bibliotecile detaliate sau utilitarele utilizate pentru a comunica cu celelalte caracteristici ale Hadoop precum YARN, MapReduce și HDFS.
# 3) Hadoop HDFS: Sistemul de fișiere distribuite este utilizat în Hadoop pentru a stoca și a procesa un volum mare de date. De asemenea, este folosit pentru a accesa datele din cluster.
# 4) Hadoop MapReduce: MapReduce este principala caracteristică a Hadoop care este responsabilă pentru prelucrarea datelor din cluster. Se folosește pentru programarea lucrărilor și monitorizarea procesării datelor.
Aici, tocmai am inclus definiția acestor caracteristici, dar vom vedea o descriere detaliată a tuturor acestor caracteristici în tutorialele noastre viitoare.
Hadoop Architecture
Să învățăm arhitectura cadrului și să vedem ce componente sunt utilizate în acesta. Acest cadru urmează o arhitectură master-slave în cluster.
Următoarele sunt componentele Hadoop:
- HDFS
- MapReduce
- YARN
Acestea sunt cele trei componente importante ale arhitecturii Hadoop. De asemenea, ar trebui să înțelegem unele dintre terminologiile sau conceptele arhitecturii și să vedem cum funcționează acestea.
- Nume Nod
- Nod de date
- Nume secundar Nod
- Blocuri
# 1) Nume nume
Name Node este nodul master din HDFS. Conține metadate HDFS, cum ar fi informații despre fișiere, structură de directoare, informații despre blocuri și toate informațiile despre nodul de date, etc. Urmărește toate tranzacțiile sau modificările făcute în fișiere.
Funcționează în principal pe două fișiere, adică FsImage și EditLogs . Name Node are un JobTracker care conține toate detaliile nodului de date, cum ar fi ce nod de date are ce sarcină, câte blocuri există cu fiecare nod de date, bătăile inimii fiecărui nod de date, detaliile de planificare a lucrărilor în cluster etc.
Pe scurt, putem spune că un JobTracker conține TaskTracker pentru fiecare nod de date.
# 2) Nod de date
Nodul de date este nodul sclav în HDFS. Nodul de date este responsabil pentru stocarea și prelucrarea efectivă a datelor. Sarcina sa principală este să împartă lucrarea în trei blocuri și să o stocheze în diferite noduri de date. După aceea începe procesarea datelor.
De asemenea, are TaskTracker care are informații complete despre fiecare bloc și care bloc este responsabil pentru ce sarcină, care blocuri au finalizat sarcina etc. și după procesarea datelor, trimite informațiile către Nodul Nume. De fiecare dată când pornește nodul de date, acesta trimite din nou toate informațiile către nodul de nume.
# 3) Nume secundar de nume
Nodul secundar de nume este utilizat în cazul toleranței la erori. Există două scenarii în care Nodul Nume este oprit și structura completă Hadoop va eșua, deoarece Nodul Nume este singurul punct de eșec.
(i) Dacă Name Node repornește din cauza oricărei probleme decât a trebuit să apară din nou, deoarece are o cantitate imensă de date, atunci pentru a recupera că este nevoie de timp.
(ii) În cazul blocării Name Node, toate datele HDFS se vor pierde și nu o pot recupera din nou, deoarece Name Node este singurul punct de eșec. Astfel, pentru a depăși aceste probleme, Nodul secundar de nume este acolo. De asemenea, conține o imagine a spațiului de nume și jurnalele de editare la fel ca nodul de nume.
După o anumită perioadă, va copia imaginea spațiului de nume și va actualiza jurnalele de editare din nodul de nume. Astfel, în cazul unei eșecuri a Nodului Nume, Nodul Nume Secundar intră în imagine și se comportă ca Nodul Nume primar. Datorită acestui proces, previne eșecul total.
# 4) Blocuri
Blocurile sunt cea mai mică unitate din HDFS. Hadoop poate procesa o cantitate imensă de fișier, deoarece îl împarte în blocuri mici. Putem spune că blocurile nu sunt altceva decât datele unui fișier imens. Dimensiunea fiecărui bloc este de 128 MB. Aceste blocuri sunt salvate în nodurile de date și procesează datele.
Acum, să învățăm arhitectura Hadoop pentru a înțelege funcționarea sa.
Sistemul de fișiere distribuite Hadoop (HDFS) este sistemul de fișiere utilizat în clusterul Hadoop. În principal HDFS este utilizat pentru a stoca date Hadoop în cluster. HDFS lucrează în general la procesarea secvențială a datelor. După cum știm deja, se bazează pe arhitectura Master-Slave.
Toate metadatele clusterului sunt salvate pe nodul de nume în JobTracker și datele reale sunt stocate în nodul de date al HDFS în TaskTracker.
MapReduce este responsabil pentru prelucrarea datelor. Ori de câte ori un fișier intră în cluster pentru procesare, atunci primul nod de date îl împarte în blocuri și fiecare bloc conține 64 MB de date și ar putea stoca 128 MB. Apoi, fiecare bloc se va replica de două ori și va stoca în diferite noduri de date oriunde în cluster.
Toate aceste informații vor fi trimise la Nodul Nume, iar Nodul Nume va stoca aceste informații sub formă de metadate. Apoi procesarea efectivă a datelor va porni nodul de date și va trimite o bătăi de inimă la nodul de nume la fiecare trei secunde, astfel încât nodul de nume să aibă informațiile la care lucrează acest nod de date.
Dacă cineva din nodul de date nu reușește să trimită bătăile inimii, atunci nodul de nume creează din nou replica blocului respectiv pe un alt nod de date și începe procesarea.
Toate aceste informații sau instantanee vor fi stocate în FsImage și dacă se face o tranzacție, atunci editați jurnalul fuzionați noile informații și păstrează întotdeauna o nouă copie a jurnalelor.
Blocul care termină sarcina mai întâi va fi luat și Nodul de date trimite informații către Nodul Nume și Nodul Nume va lua măsurile în consecință.
În tot acest proces, YARN va sprijini și va furniza resursele necesare sistemului, astfel încât să nu afecteze procesarea datelor și viteza. După procesarea datelor, rezultatele vor fi salvate în HDFS pentru o analiză ulterioară.
Concluzie
În acest tutorial, am învățat ce este Hadoop, diferențele dintre RDBMS față de Hadoop, Avantaje, Componente și Arhitectura Hadoop.
Acest cadru este responsabil pentru procesarea datelor mari și analiza acestora. Am văzut că MapReduce, YARN și HDFS funcționează în cluster.
Notă: Următoarele sunt detaliile de configurare ale nodului de nume și nodului de date. Nodul secundar de nume va avea aceeași configurație ca și nodul de nume.
Configurare nod nod:
Procesoare: 2 procesoare Quad Core care rulează @ 2 GHz
RAM: 128 GB
Disc: 6 x 1 TB SATA
Rețea: 10 Gigabit Ethernet
Configurare nod nod:
Procesoare: 2 procesoare Quad Core care rulează @ 2 GHz
RAM: 64 GB
Disc: SATA 12-24 x 1 TB
Rețea: 10 Gigabit Ethernet
=> Aruncați o privire la Ghidul pentru începători Big Data aici.
Lectură recomandată
- Tutorial Big Data pentru începători | Ce este Big Data?
- 20+ Tutorial MongoDB pentru începători: curs gratuit MongoDB
- Cum se configurează cadrul de testare Node.js: Tutorial Node.js
- Tutorial Data Mart - Tipuri, exemple și implementarea Data Mart
- Tutoriale detaliate pentru eclipsă pentru începători
- Tutorial Python pentru începători (Training gratuit Python GRATUIT)
- Cadru bazat pe date în Selenium WebDriver folosind Apache POI
- LoadRunner Tutorial pentru începători (curs gratuit în profunzime de 8 zile)