Cuprins:
Video: How to Install Hadoop on Windows 2024
Nodurile principale din clusterele distribuite Hadoop găzduiesc diferitele servicii de gestionare a stocării și procesării, descrise în această listă, pentru întregul cluster Hadoop. Redundanța este esențială pentru evitarea punctelor unice de eșec, așa că vedeți două comutatoare și trei noduri principale.
-
NameNode: Gestionează stocarea HDFS. Pentru a vă asigura disponibilitatea ridicată, aveți atât un NumeNode activ, cât și un nume de stare în așteptare. Fiecare rulează pe propriul nod principal dedicat.
-
Nodul de verificare (sau nodul de rezervă): Oferă servicii puncte de control pentru NameNode. Aceasta implică citirea jurnalului de editare al lui NameNode pentru modificarea fișierelor din fișierele HDFS (fișierele noi, șterse și atașate) de la ultimul punct de control și aplicarea acestora în fișierul principal al numelui care cartografiază fișierele în blocurile de date.
În plus, Nodul de rezervă păstrează o copie a spațiului de nume al sistemului de fișiere în memorie și îl păstrează în sincronizare cu starea numelui de nume. Pentru implementări de înaltă disponibilitate, nu utilizați un nod de control sau un nod de rezervă - utilizați în schimb un nume de rezervă în așteptare. Pe lângă faptul că este o stare de așteptare activă pentru NumeNod, StandbyNameNode menține serviciile de punctare și păstrează o copie actualizată a spațiului de nume al sistemului de fișiere din memorie.
-
JournalNode: primește modificări ale istoricului de modificări care indică modificări ale fișierelor în HDFS din NameNode. Cel puțin trei servicii JournalNode (și întotdeauna un număr impar) trebuie să ruleze într-un cluster și sunt suficient de ușoare încât să poată fi colocate cu alte servicii pe nodurile principale.
-
Resurse Manager: Supraveghează programarea sarcinilor de aplicare și gestionarea resurselor clusterului Hadoop. Acest serviciu este inima lui YARN.
-
JobTracker: Pentru serverele Hadoop 1, se ocupă de gestionarea și planificarea resurselor cluster. Cu YARN, JobTracker este învechit și nu este folosit. O serie de implementări Hadoop încă nu au migrat la Hadoop 2 și YARN.
-
HMaster: Monitorizează serverele din regiunea HBase și gestionează toate modificările metadatelor. Pentru a vă asigura disponibilitatea ridicată, asigurați-vă că utilizați oa doua instanță HMaster. Serviciul HMaster este suficient de ușor pentru a fi co-codat cu alte servicii pe nodurile principale. În Hadoop 1, instanțele serviciului HMaster funcționează pe nodurile master. În Hadoop 2, cu Hoya (HBase on Fire), instanțele HMaster rulează în recipiente pe nodurile slave.
-
Zookeeper: Coordonează componentele distribuite și oferă mecanisme pentru a le păstra în sincronizare. Zookeeper este folosit pentru a detecta eșecul NameNode și a alege un nou numeNode.Este, de asemenea, utilizat cu HBase pentru gestionarea stărilor HMaster și RegionServers.
Ca și în JournalNode, aveți nevoie de cel puțin trei instanțe de noduri Zookeeper (și întotdeauna un număr impar) și sunt suficient de ușoare pentru a fi colocați cu alte servicii pe nodurile master.
Aici aveți trei noduri principale (cu același hardware), în care serviciile principale Active NameNode, Standby NameNode și Resource Manager au fiecare propriul server. Există servicii Jurnal și Zookeeper care rulează pe fiecare server, dar acestea sunt ușoare și nu vor fi o sursă de controversă a resurselor cu serviciile NameNode și Resource Manager.
Principiile sunt aceleași pentru Hadoop 1, unde aveți nevoie de un nod principal dedicat pentru serviciile NameNode, Secondary NameNode și JobTracker.
Dacă intenționați să utilizați HBase cu Hoya în Hadoop 2, nu aveți nevoie de servicii suplimentare. Pentru implementările Hadoop 1 utilizând HBase, verificați figura următoare pentru implementarea serviciilor pe nodurile principale ale clusterului Hadoop.
Există două diferențe în compararea acestor servere principale cu serverele principale Hadoop 1 fără suport pentru HBase: aici aveți nevoie de două servicii HMaster (una pentru a coordona HBase și una de a activa în regim de așteptare) și servicii Zookeeper pe toate cele trei noduri principale pentru a gestiona failover.
Dacă intenționați să utilizați clusterul Hadoop 1 numai pentru HBase, puteți face acest lucru fără serviciul JobTracker, deoarece HBase nu depinde de infrastructura Hadoop 1 MapReduce.
Atunci când oamenii vorbesc despre hardware pentru Hadoop, ei subliniază, în general, utilizarea componentelor mărfuri - cele necostisitoare. Deoarece trebuie să vă plângeți numai pentru câteva noduri principale (de obicei, trei sau patru), nu sunteți afectați prin înmulțirea costurilor dacă, de exemplu, decideți să utilizați unități de hard disk scumpe.
Țineți minte că, fără nodurile master, nu există cluster Hadoop. Nodurile principale servesc o funcție critică a misiunii, și chiar dacă aveți nevoie de redundanță, ar trebui să le proiectați cu disponibilitate ridicată și rezistență în minte.
Depozitare recomandată
Pentru nodurile principale Hadoop, indiferent de numărul de noduri slave sau de utilizările clusterului, caracteristicile de stocare sunt consecvente. Utilizați patru unități SAS de 900 GB împreună cu un controller RAID HDD configurat pentru RAID 1 + 0. Unitățile SAS sunt mai scumpe decât unitățile SATA și au o capacitate de stocare mai mică, dar sunt mai rapide și mult mai fiabile.
Implementarea unităților dvs. SAS ca matrice RAID asigură că serviciile de administrare Hadoop au un stoc redundant pentru datele critice ale acestora. Acest lucru vă oferă suficient spațiu de stocare stabil, rapid și redundant pentru a vă ajuta să gestionați clusterul Hadoop.
Procesoare recomandate
În momentul acestei scrieri, majoritatea arhitecturilor de referință recomandă utilizarea plăcilor de bază cu două prize CPU, fiecare cu șase sau opt nuclee. Arhitectura Intel Ivy Bridge este frecvent utilizată.
Memorie recomandată
Cerințele de memorie variază considerabil în funcție de scara unui cluster Hadoop.Memoria este un factor critic pentru nodurile master Hadoop, deoarece serverele active și standby NameNode se bazează foarte mult pe RAM pentru a gestiona HDFS. Ca atare, utilizați memoria de corectare a erorilor (ECC) pentru nodurile master Hadoop. De obicei, nodurile master necesită între 64 GB și 128 GB de memorie RAM.
Cerința de memorie NameNode este o funcție directă a numărului de blocuri de fișiere stocate în HDFS. De regulă, NameNode utilizează aproximativ 1GB de RAM pe milion blocuri HDFS. (Amintiți-vă că fișierele sunt împărțite în blocuri individuale și replicate astfel încât să aveți trei copii ale fiecărui bloc.)
Cerințele de memorie ale serverelor Resource Manager, HMaster, Zookeeper și JournalNode sunt considerabil mai mici decât pentru serverul NameNode. Cu toate acestea, este o practică bună de a dimensiona nodurile principale într-o manieră consecventă, astfel încât acestea să fie interschimbabile în cazul unei defecțiuni hardware.
Rețeaua recomandată
Comunicația rapidă este vitală pentru serviciile de pe nodurile principale, așa că vă recomandăm să utilizați o pereche de conexiuni 10GbE conectate. Această pereche legată oferă redundanță, dar de asemenea dublează capacitatea de transfer la 20GbE. Pentru grupuri mai mici (de exemplu, mai puțin de 50 de noduri), puteți să vă îndepărtați folosind conectori de 1 GbE.