Egy HDFS fürt kétféle csomóponttal rendelkezik, amelyek master-slave mintában működnek:
1. NameNode (a mester) és
2. DataNode-ok száma (rabszolgák/munkások).
HDFS NameNode
1. A NameNode a HDFS architektúra keretrendszerének fő központi eleme.
2. A NameNode-ot mester csomópontnak is nevezik.
3. A HDFS NameNode tárolja a metaadatokat, azaz az adatblokkok számát, a fájlnevet, az elérési utat, a blokk azonosítókat, a blokkok helyét, a replikák számát, valamint a Slave-ekkel kapcsolatos konfigurációt. Ezek a metaadatok a master memóriájában állnak rendelkezésre az adatok gyorsabb visszakeresése érdekében.
4. A NameNode a gyorsabb válaszidő érdekében a memóriában tartja a fájlrendszer névterével kapcsolatos metaadatokat. Ezért több memóriára van szükség. Ezért a NameNode konfigurációt megbízható konfigurációra kell telepíteni.
5. A NameNode karbantartja és kezeli a szolga csomópontokat, és feladatokat rendel hozzájuk.
6. A NameNode ismeri az összes DataNode-ot, amely egy adott fájl adatblokkjait tartalmazza.
7. A NameNode több száz vagy ezer adatcsomóponttal koordinál, és kiszolgálja az ügyfélalkalmazásokból érkező kéréseket.
Két fájl, az “FSImage” és az “EditLog” a metaadat-információk tárolására szolgál.
FsImage: Ez a pillanatfelvétel a fájlrendszerről a Name Node indításakor. Ez egy “képfájl”. Az FsImage tartalmazza a teljes fájlrendszer névterét, és fájlként tárolódik a NameNode helyi fájlrendszerében. Tartalmazza továbbá a fájlrendszer összes könyvtárának és fájl inode-jának szerializált formáját. Minden inode a fájl vagy könyvtár metaadatainak belső reprezentációja.
EditLogs: Tartalmazza a fájlrendszerben a legutóbbi FsImage-en végzett összes legutóbbi módosítást. A NameNode létrehozási/frissítési/törlési kérést kap az ügyféltől. Ezt követően ez a kérés először a szerkesztési fájlba kerül rögzítésre.
A NameNode funkciói a HDFS-ben
1. Ez a master démon, amely karbantartja és kezeli a DataNode-okat (slave node-okat).
2. Rögzíti a fürtben tárolt összes fájl metaadatait, pl. a tárolt blokkok helyét, a fájlok méretét, jogosultságait, hierarchiáját stb.
3. Rögzít minden olyan változást, amely a fájlrendszer metaadataiban történik. Ha például egy fájlt törölnek a HDFS-ben, a NameNode ezt azonnal rögzíti az EditLogban.
4. Rendszeresen Heartbeat- és blokkjelentést kap a fürt összes DataNode-jától, hogy megbizonyosodjon arról, hogy a DataNode-ok élesben működnek.
5. Nyilvántartást vezet a HDFS-ben lévő összes blokkról, és arról, hogy ezek a blokkok mely csomópontokon találhatók.
6. A NameNode felelős azért is, hogy gondoskodjon az összes blokk replikációs tényezőjéről.
7. A DataNode meghibásodása esetén a NameNode választ új DataNode-okat az új replikákhoz, kiegyensúlyozza a lemezhasználatot, és kezeli a DataNode-ok felé irányuló kommunikációs forgalmat.
HDFS DataNode
1. A NameNode felelős az összes blokk replikációs tényezőjéért. A DataNode-ot Slave node-nak is nevezik.
2. A Hadoop HDFS architektúrában a DataNode tárolja az aktuális adatokat a HDFS-ben.
3. A DataNode-ok felelősek az ügyfelek számára a kiszolgálásért, az olvasási és írási kérésekért.
4. A DataNode-ok telepíthetők commodity hardveren.
5. A DataNode-ok információt küldenek a NameNode-nak az adott csomópontban tárolt fájlokról és blokkokról, és válaszolnak a NameNode-nak minden fájlrendszeri műveletre.
6. Amikor egy DataNode elindul, bejelenti magát a NameNode-nak a blokkok listájával együtt, amelyekért felelős.
7. A DataNode általában sok merevlemezhelyet konfigurál. Mivel a tényleges adatok a DataNode-ban tárolódnak.
A DataNode funkciói a HDFS-ben
1. Ezek szolga démonok vagy folyamatok, amelyek minden szolga gépen futnak.
2. A tényleges adatok a DataNode-okon tárolódnak.
3. A DataNode-ok hajtják végre a fájlrendszer klienseinek alacsony szintű írási és olvasási kéréseit.
4. Minden DataNode 3 másodpercenként Heartbeat üzenetet küld a Name Node-nak, és azt közvetíti, hogy él. Abban az esetben, ha a Névcsomópont 10 percig nem kap Heartbeat üzenetet egy Adatcsomóponttól, a Névcsomópont az adott Adatcsomópontot halottnak tekinti, és elindítja a blokkreplikáció folyamatát egy másik Adatcsomóponton.
5. A Hadoop fürtben minden Adatcsomópont szinkronizálva van oly módon, hogy kommunikálni tudjanak egymással, és megbizonyosodjanak
i. Az adatok kiegyensúlyozása a rendszerben
ii. Az adatok mozgatása a magas replikáció megtartása érdekében
iii. Adatok másolása szükség esetén