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 -
- Mi az adatmodellezés?
- Mi az adatmegjelenítés?
- Mi az adattárház?
- Mi az SQL Developer?