Ce este Hadoop?
Apache Hadoop este un cadru software open source utilizat pentru a dezvolta aplicații de procesare a datelor care sunt executate într-un mediu de calcul distribuit.
Aplicațiile construite folosind HADOOP sunt rulate pe seturi mari de date distribuite în clustere de computere de marfă. Calculatoarele de marfă sunt ieftine și sunt disponibile pe scară largă. Acestea sunt utile în principal pentru obținerea unei puteri de calcul mai mari la un cost redus.
Similar cu datele care se află într-un sistem de fișiere local al unui sistem de calculatoare personale, în Hadoop, datele se află într-un sistem de fișiere distribuit, care este numit ca un sistem de fișiere distribuite Hadoop . Modelul de procesare se bazează pe conceptul „Data Locality” în care logica de calcul este trimisă către nodurile cluster (server) care conțin date. Această logică de calcul nu este nimic, ci o versiune compilată a unui program scris într-un limbaj de nivel înalt, cum ar fi Java. Un astfel de program procesează datele stocate în Hadoop HDFS.
Știi? Clusterul de computer este format dintr-un set de unități multiple de procesare (disc de stocare + procesor) care sunt conectate între ele și acționează ca un singur sistem.
În acest tutorial, veți învăța,
- Hadoop EcoSystem și componente
- Hadoop Architecture
- Caracteristicile „Hadoop”
- Topologia rețelei în Hadoop
Hadoop EcoSystem și componente
Diagrama de mai jos prezintă diferite componente din ecosistemul Hadoop-
Apache Hadoop constă din două subproiecte -
- Hadoop MapReduce: MapReduce este un model de calcul și un cadru software pentru scrierea aplicațiilor care sunt rulate pe Hadoop. Aceste programe MapReduce sunt capabile să proceseze date enorme în paralel pe grupuri mari de noduri de calcul.
- HDFS ( Hadoop Distributed File System ): HDFS se ocupă de partea de stocare a aplicațiilor Hadoop. Aplicațiile MapReduce consumă date de pe HDFS. HDFS creează replici multiple de blocuri de date și le distribuie pe nodurile de calcul dintr-un cluster. Această distribuție permite calcule fiabile și extrem de rapide.
Deși Hadoop este cel mai bine cunoscut pentru MapReduce și sistemul său de fișiere distribuite - HDFS, termenul este folosit și pentru o familie de proiecte conexe care intră sub umbrela calculelor distribuite și a prelucrării datelor la scară largă. Alte proiecte legate de Hadoop la Apache includ Hive, HBase, Mahout, Sqoop, Flume și ZooKeeper.
Hadoop Architecture
Hadoop are o arhitectură Master-Slave pentru stocarea datelor și procesarea distribuită a datelor folosind metodele MapReduce și HDFS.
NumeNod:
NameNode a reprezentat fiecare fișier și director care este utilizat în spațiul de nume
DataNode:
DataNode vă ajută să gestionați starea unui nod HDFS și vă permite să interacționați cu blocurile
MasterNode:
Nodul master vă permite să efectuați prelucrarea paralelă a datelor folosind Hadoop MapReduce.
Nodul sclav:
Nodurile slave sunt mașinile suplimentare din clusterul Hadoop, care vă permite să stocați date pentru a efectua calcule complexe. Mai mult, tot nodul sclav vine cu Task Tracker și un DataNode. Acest lucru vă permite să sincronizați procesele cu NameNode și respectiv Job Tracker.
În Hadoop, sistemul master sau slave poate fi configurat în cloud sau la fața locului
Caracteristicile „Hadoop”
• Potrivit pentru analiza Big Data
Deoarece Big Data tinde să fie distribuit și nestructurat în natură, clusterele HADOOP sunt cele mai potrivite pentru analiza Big Data. Deoarece logica de procesare (nu datele efective) este cea care curge către nodurile de calcul, se consumă o lățime de bandă mai mică. Acest concept este numit concept de localitate a datelor, care ajută la creșterea eficienței aplicațiilor bazate pe Hadoop.
• Scalabilitate
Clusterele HADOOP pot fi ușor scalate în orice măsură prin adăugarea de noduri de cluster suplimentare și, astfel, permite dezvoltarea Big Data. De asemenea, scalarea nu necesită modificări ale logicii aplicației.
• Toleranță la erori
Ecosistemul HADOOP are o prevedere pentru a reproduce datele de intrare pe alte noduri de cluster. În acest fel, în cazul unei eșecuri a nodului clusterului, prelucrarea datelor poate continua în continuare prin utilizarea datelor stocate pe un alt nod cluster.
Topologia rețelei în Hadoop
Topologia (Aranjamentul) rețelei afectează performanța clusterului Hadoop atunci când dimensiunea clusterului Hadoop crește. În plus față de performanță, trebuie să ne preocupăm și de disponibilitatea ridicată și de gestionarea defecțiunilor. Pentru a realiza acest Hadoop, formarea clusterelor folosește topologia rețelei.
De obicei, lățimea de bandă a rețelei este un factor important de luat în considerare la formarea oricărei rețele. Cu toate acestea, deoarece măsurarea lățimii de bandă ar putea fi dificilă, în Hadoop, o rețea este reprezentată ca un copac și distanța dintre nodurile acestui copac (numărul de hamei) este considerată ca un factor important în formarea clusterului Hadoop. Aici, distanța dintre două noduri este egală cu suma distanței lor față de cel mai apropiat strămoș comun.
Clusterul Hadoop este format dintr-un centru de date, rack-ul și nodul care execută de fapt joburile. Aici, centrul de date este format din rafturi, iar rack-ul este format din noduri. Lățimea de bandă a rețelei disponibile pentru procese variază în funcție de locația proceselor. Adică, lățimea de bandă disponibilă devine mai mică pe măsură ce ne îndepărtăm de ...
- Procese pe același nod
- Noduri diferite pe același rack
- Noduri pe rafturi diferite ale aceluiași centru de date
- Noduri în diferite centre de date