Video: Database Clustering Tutorial 1 - Intro to Database Clustering 2024
Într-un univers Hadoop, nodurile slave sunt unde sunt stocate datele Hadoop și unde are loc procesarea datelor. Următoarele servicii permit nodurilor slave să stocheze și să proceseze date:
-
NodeManager: Coordonează resursele pentru un nod secundar și raportează înapoi la Managerul de resurse.
-
ApplicationMaster: Urmări progresul tuturor sarcinilor care rulează pe clusterul Hadoop pentru o anumită aplicație. Pentru fiecare aplicație client, Managerul de resurse deplasează o instanță a serviciului ApplicationMaster într-un container de pe un nod secundar. (Rețineți că orice nod care rulează serviciul NodeManager este vizibil pentru Managerul de resurse.)
-
Container: O colecție a tuturor resurselor necesare pentru executarea sarcinilor individuale pentru o aplicație. Când o aplicație rulează pe cluster, Managerul de resurse programează sarcinile ca aplicația să ruleze ca servicii de container pe nodurile slave ale clusterului.
-
TaskTracker: Gestionează harta individuală și reduce sarcini executând pe un nod slave pentru grupurile Hadoop 1. În Hadoop 2, acest serviciu este învechit și a fost înlocuit de serviciile YARN.
-
DataNode: Un serviciu HDFS care permite NumeNode să stocheze blocuri pe nodul slave.
-
RegionServer: stochează datele pentru sistemul HBase. În Hadoop 2, HBase utilizează Hoya, care permite instanțelor RegionServer să ruleze în containere.
Aici, fiecare nod slave execută întotdeauna o instanță DataNode (care permite HDFS să stocheze și să recupereze blocuri de date pe nodul slave) și o instanță NodeManager (care permite managerului de resurse să atribuie sarcini aplicației nodului slave pentru prelucrare). Procesele de container sunt sarcini individuale pentru aplicațiile care rulează pe cluster.
Fiecare aplicație care rulează are o sarcină dedicată ApplicationMaster, care rulează și într-un container, și urmărește executarea tuturor sarcinilor executate pe cluster până când aplicația este terminată.
Cu HBase pe Hadoop 2, modelul containerului este încă urmat, după cum puteți vedea:
HBase pe Hadoop 2 este inițiat de Hoya Application Master, care solicită containere pentru serviciile HMaster. (Aveți nevoie de mai multe servicii HMaster pentru redundanță.) Aplicația Master Hoya solicită, de asemenea, resurse pentru RegionServers, care, de asemenea, rulează în containere speciale.
Figura următoare prezintă serviciile desfășurate pe nodurile slave Hadoop 1.
Pentru Hadoop 1, fiecare nod slave rulează întotdeauna o instanță DataNode (care permite HDFS să stocheze și să recupereze blocurile de date de pe nodul slave) și o instanță TaskTracker (care permite JobTrackerului să atribuie hartă și să reducă sarcinile nodului slave pentru procesare).
Nodurile slave au un număr fix de sloturi pentru hărți și reduc sloturile pentru executarea hărții și, respectiv, pentru reducerea sarcinilor. Dacă clusterul rulează HBase, un număr de noduri slave va trebui să ruleze un serviciu RegionServer. Cu cât mai multe date stocați în HBase, cu atât mai multe instanțe din RegistryServer veți avea nevoie.
Criteriile hardware pentru nodurile slave sunt destul de diferite de cele pentru nodurile principale; de fapt, criteriile nu se potrivesc cu cele găsite în arhitecturile tradiționale de referință hardware pentru serverele de date. O mare parte din zgomotul din jurul lui Hadoop se datorează utilizării hardware-ului de mărfuri în criteriile de proiectare ale clusterelor Hadoop, dar rețineți că hardware-ul mărfii nu se referă la hardware de consum.
Nodurile sclavilor Hadoop încă mai necesită hardware pentru întreprinderi, dar la capătul inferior al spectrului de costuri, în special pentru stocare.