Bevezetés a HDFS architektúrába

A HDFS a Hadoop Distributed File System kifejezést jelenti, amely maga állítja, hogy a fájlok blokkokra vannak felosztva és több gépen tárolódnak.

A HDFS tulajdonságai

A HDFS jellemzői, amelyek a következők:

1. Rendelkezésre állás

A HDFS-ben az adatok rendszeresen replikálódnak az adatcsomópontok között azáltal, hogy blokkok másolatát készítik a másik adatcsomóponton. Tehát bármilyen hardverhiba vagy hiba esetén a felhasználó megkaphatja adatait egy másik adatcsomóponttól, ahol az adatokat replikálták.

2. Skálázhatóság

A HDFS-ben az adatokat több adatcsomóponton tárolják blokkok formájában. A HDFS lehetővé teszi a felhasználók számára, hogy szükség esetén növeljék a blokkok méretét. A HDFS-ben kétféle skálázhatósági mechanizmust lehet használni - a vízszintes és a függőleges skálázhatóságot.

3. Replikáció

Ez a HDFS egyedülálló tulajdonsága, amely lehetővé teszi a felhasználó számára, hogy bármilyen hardverhiba esetén könnyedén hozzáférhessen adatokhoz.

HDFS architektúra

A HDFS a master-slave architektúrát követi, amely a következő komponensekből áll:

1. NameNode:

A NameNode mestercsomópontként is ismert, mivel kezeli az összes blokkot, amely a DataNodes-en található.

A NameNode a következő feladatokat hajtja végre:

  • Kezelje az összes DataNode blokkot
  • A felhasználó hozzáférést biztosít a fájlokhoz
  • Megőrzi a DataNode-ban lévő összes blokkrekordot
  • A NameNode rögzíti a fájlok összes információját, például ha a fájlnév átnevezésre kerül, vagy ha a tartalmat megváltoztatták vagy törölték. A NameNode azonnal rögzíti ezt a módosítást az EditLogs alkalmazásban.
  • Az összes csomópont rögzítését az adatcsomópontoktól biztosítja, hogy minden blokk életben maradjon a DataNode-n.
  • Hiba esetén, ha bármilyen hardverhiba történik, akkor azonnal kiválaszt egy másik DataNode-t replikáció létrehozásához és az összes DataNodes-hez való kommunikáció kezeléséhez.

Fájltípusok a NameNode fájlban

A NameNode kétféle fájlt tartalmaz: az FsImage és az EditLogs fájlokat

én. FsImage: fájlnévnek is hívják, mert névtérrel rendelkező fájlrendszer összes információját tartalmazza. Ezenkívül az összes könyvtárat és a fájlrendszer fájljait soros módon tartalmazza.

ii. EditLogs: A fájlrendszer fájljain végrehajtott aktuális módosításokat az EditLogs tárolja.

2. Másodlagos névszám

A Másodlagos NameNode-t ellenőrzőpont csomópontnak is hívják, mivel rendszeres ellenőrző pontokat hajt végre. Segítőként működik az elsődleges NameNode számára.

A Secondary NameNode a következő feladatokat hajtja végre

  • A másodlagos névnév egyesíti az FsImage és az EditLogs a névnévből.
  • Olvassa be a fájlrendszer összes információját a NameNode tárolómemóriájából, és ezeket az információkat a fájlrendszer merevlemezére írja.
  • Rendszeres időközönként letölti az FsImage és az EditLogs fájlokat a NameNode-ból, olvassa el az EditLogs fájlok módosítási információit, és jegyezze fel az FsImage módosításait. Ez a folyamat új FsImage-et hoz létre, amelyet ezután visszatér a NameNode-hoz. Amikor a NameNode elindul, akkor használja ezeket az FsImage fájlokat.

3. DataNode

A DataNode szolga csomópontként is ismert, mivel minden csomópontot kezel, amely egy szolga gépen tartalmaz adatokat. A DataNode az ext3 vagy ext4 fájl formátumban tárolja az adatokat.

Az adatcsomópont a következő feladatokat hajtja végre:

  • Minden adatot a DataNodes tárol
  • A fájlok minden műveletét elvégzi a felhasználó kérése szerint, például fájltartalom olvasása, új adatok írása fájlokba,
  • Ezenkívül követi az összes utasítást, amelyet a NameNode ad, például a fájl átnevezését, néhány blokk törlését a DataNode-ban, blokkok létrehozását stb.

4. Ellenőrzőpont csomópont:

Az Checkpoint node egy olyan csomópont, amely rendszeres időközönként létrehozta a fájlok ellenőrző pontját. Ellenőrzőpont csomópont a HDFS-ben, töltse le az FsImage és az EditLogs fájlokat a NameNode-ból, és egyesítse őket egy új kép létrehozásához, majd küldje el az új képet a NameNode-hoz. A legutóbbi ellenőrzőpontot a könyvtár tárolja, amelynek struktúrája megegyezik a namenode könyvtárának könyvtárával. Emiatt a kontrollponttal ellátott kép mindig rendelkezésre áll, ha szüksége van rá.

5. Biztonsági mentési csomópont:

A biztonsági mentési csomópont funkciója hasonló egy ellenőrzőpont csomóponthoz ellenőrzőpont-feladat végrehajtásához. A Hadoopban a Biztonsági mentési csomópont a fájlrendszer névtérének legfrissebb és frissített példányát tárolja. Nem kell letöltenie az FsImage és az editsLogs fájlokat az aktív NameNode fájlból, hogy ellenőrző pontot hozzon létre a Biztonsági másolat csomópontban, mivel az aktív NameNode állapotmal van szinkronizálva. A Biztonsági másolat csomópont funkciója pontosabb, mert menti a névteret a helyi FsImage fájlba és állítsa vissza az editLogs fájlt.

6. Blokkok:

A felhasználók összes adatát a HDFS fájlokban tárolják, amelyeket kicsi szegmensekre osztanak. Ezeket a szegmenseket a DataNodes tárolja. A DataNodes-en jelen lévő szegmenseket blokknak nevezzük. Ezeknek a blokkoknak az alapértelmezett blokkja 128 MB. A blokk mérete a felhasználói igényeknek megfelelően megváltoztatható a HDFS konfigurálásával.

Ha az adatok mérete kisebb, mint a blokk mérete, akkor a blokk mérete megegyezik az adat méretével. Például, ha az adat 135 MB, akkor 2 blokkot fog létrehozni. Az egyik alapértelmezett mérete 128 MB, a másik csak 7 MB, nem pedig 128 MB. Emiatt sok helyet és lemezt takarít meg a lemez.

Replikációkezelés a HDFS architektúrában:

A HDFS hibatűrő. A hibatolerancia a rendszer hatalma abban az esetben, ha hiba történik, és hogyan reagál a hibákra és a nehéz körülményekre. A hibatűrés a replikák létrehozásának folyamatán alapul. A felhasználói adatok másolatát a DHFS-fürt gépein tárolják. Ennélfogva, ha bármilyen meghibásodás vagy hiba történik a rendszerben, akkor az adatok másolatát elérheti a HDFS-fürt többi gépéből. A HDFS architektúrában minden blokk 3 replikával rendelkezik, amelyeket különféle DataNode-okban tárolnak. A NameNode fenntartja a DataNodes-ben elérhető példányokat. A NameNode hozzáadja vagy törli a másolatokat az alig replikált vagy túlméretezett blokkok kritériuma alapján.

Írjon műveletet

Fájlok HDFS-be történő írásához az ügyfél metaadatokkal kommunikál a NameNode-val. A névkód több blokkra válaszol, azok helyére, példányaira stb. Az ügyfél a névkód alapján több fájlt oszt fel. Ezután elkezdi elküldeni őket a DataNode-hoz. Először az ügyfél az A blokkot továbbítja az 1. DataNode-hoz, a DataNodes-ról szóló egyéb információkkal. Amikor az 1. DataNode megkapja az ügyfél A blokkját, az 1. DataNode ugyanazt a blokkot másolja ugyanazon a rackbe a DataNode 2-re. A DataNode 2 mostantól ugyanazt a blokkot másolja a DataNode 3-ra. Mivel mindkét DataNodes különféle állványokban van, a blokk átvitele a „out of theck” kapcsolón keresztül történik. Amint a DataNode megkapja az ügyfél blokkjait, megerősítést küld a NameMode-nak. A fájl minden blokkjában ugyanazt a folyamatot megismételjük.

Olvassa el a Műveletet

Az Olvasás művelethez az első kliens a metaadatokkal kommunikál a NameNode-val. Az ügyfél kilép a NameNode fájlnévvel és helyével. A névkód blokkszámmal, helyszínnel, másolatokkal és egyéb információkkal válaszol. Ezt követően az Ügyfél kommunikál a DataNodes-szal. A NameNode-tól kapott információk alapján az ügyfél párhuzamosan kezd olvasni az adatokat a DataNodes-ből. Amikor az ügyfél vagy az alkalmazás megkapja a fájl összes blokkját, akkor ezeket a blokkokat eredeti fájl formába egyesíti.

Következtetés - HDFS architektúra

A NameNode és a DataNode segítségével megbízhatóan tárolja a nagyon nagy fájlokat a gépeken egy nagy fürtben. A hibatűrés miatt hasznos az adatok elérése szoftver vagy hardver hiba esetén. Így működik a HDFS architektúra.

Ajánlott cikkek

Ez egy útmutató a HDFS architektúrához. Itt megvitattuk az alapvető fogalmakat a HDFS Architecture architektúra különféle típusaival, tulajdonságaival és replikációs menedzsmentjével. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Mi az adatmodellezés?
  2. Mi az adatmegjelenítés?
  3. Mi az adattárház?
  4. Mi az SQL Developer?

Kategória: