Mi az a Hadoop? Archistruktúra, ökoszisztéma és összetevők

⚡ Okos összefoglaló

Az Apache Hadoop egy nyílt forráskódú keretrendszer, amely hatalmas adathalmazokat tárol különböző számítógépekből álló klaszterekben, és a feldolgozási logikát az adatokhoz mozgatja, így az elemzés méretezhető olcsó csomópontok hozzáadásával, nem pedig nagyobb szerverekkel.

  • 🔘 Alapvető modulok: A HDFS tárolja a blokkokat, a MapReduce feldolgozza azokat, a YARN pedig ütemezi a klaszter erőforrásait a Hadoop 2.x-től kezdődően.
  • ☑️ Adatok helye: A lefordított feldolgozási logika a blokkot tartalmazó csomóponthoz jut, így sokkal kevesebb hálózati sávszélességet fogyaszt.
  • Ökoszisztéma: A Hive, a HBase, a Mahout, a Sqoop, a Flume és a ZooKeeper kiterjeszti a magot SQL-lel, NoSQL-lel, betöltéssel és koordinációval.
  • 🧪 Master-slave elrendezés: Egy névcsomópont tracks névtér metaadatokat, míg a DataNodes tárolja a blokkokat és jelenti azok állapotát.
  • 🇧🇷 Hibatűrés: Minden blokk replikálódik a csomópontok között, így egyetlen meghibásodott gép soha nem állít le egy futó feladatot.
  • ⚠️ Hálózati topológia: A Hadoop a klasztert adatközpontok, rackek és csomópontok fájaként modellezi, hogy a forgalom lokális maradjon.

Mi a Hadoop architektúra, ökoszisztéma és összetevői?

Mi az a Hadoop?

Az Apache Hadoop egy nyílt forráskódú szoftverkeretrendszer, amelyet olyan adatfeldolgozó alkalmazások fejlesztésére használnak, amelyeket elosztott számítástechnikai környezetben futtatnak.

A Hadoop segítségével készült alkalmazások nagyméretű adathalmazokon futnak, amelyek egyszerű számítógépek klasztereiben vannak elosztva. Az egyszerű számítógépek olcsók és széles körben elérhetők. Ezek főként nagyobb számítási teljesítmény alacsony költséggel történő elérésére hasznosak.

A személyi számítógép helyi fájlrendszerében tárolt adatokhoz hasonlóan a Hadoopban az adatok egy elosztott fájlrendszerben találhatók, amelyet ún. Hadoop elosztott fájlrendszerA feldolgozási modell a következőn alapul: "Adatok helye" koncepció, amelyben a számítási logika a fürtcsomópontokhoz (szerverekhez) kerül elküldésre, amelyek az adatokat tartalmazzák. Ez a számítási logika egyszerűen egy magas szintű nyelven írt program lefordított változata, például JavaEgy ilyen program feldolgozza a tárolt adatokat Hadoop HDFS.

Tudod? Egy számítógépes klaszter több feldolgozóegységből (tárolólemez + processzor) áll, amelyek egymáshoz kapcsolódnak, és egyetlen rendszerként működnek.

A 2026. április 2-án kiadott 3.5.0-s verzió a jelenlegi stabil kiadás; a 3.4-es vonal továbbra is kap karbantartási frissítéseket.

Hadoop ökoszisztéma és összetevői

Az alábbi ábra a Hadoop ökoszisztéma különböző összetevőit mutatja be, az általuk ellátott feladatok – tárolás, feldolgozás, valamint a körülöttük lévő lekérdezési, betöltési és koordinációs eszközök – szerint csoportosítva.

Hadoop ökoszisztéma-diagram, amely a HDFS-t, a MapReduce-t és a környező Apache projekteket mutatja

Az Apache Hadoop két alprojektből áll –

  1. Hadoop MapReduce: A MapReduce egy számítási modell és szoftver keretrendszer Hadoopon futó alkalmazások írására. Ezek a MapReduce programok hatalmas mennyiségű adat párhuzamos feldolgozására képesek a számítási csomópontok nagy csoportjain.
  2. HDFS (Hadoop elosztott fájlrendszer): A HDFS gondoskodik a Hadoop-alkalmazások tárolási részéről. A MapReduce alkalmazások HDFS-ből fogyasztanak adatokat. A HDFS több adatblokkot hoz létre, és elosztja azokat egy fürt számítási csomópontjain. Ez az elosztás megbízható és rendkívül gyors számításokat tesz lehetővé.

A jelenlegi kiadások további két alapmodult tartalmaznak. Hadoop FONAL, amelyet a Hadoop 2.x verzióban adtak hozzá, ütemezi a fürtön végzett munkát, és Hadoop Common birtokolja a megosztott Java könyvtárak, amelyekre minden modul támaszkodik. A YARN segítségével olyan motorok, mint a SparkA Tez és a Flink a MapReduce mellett futnak.

Bár a Hadoop leginkább a MapReduce-ról és annak elosztott fájlrendszeréről, a HDFS-ről ismert, a kifejezést a kapcsolódó projektek egy családjára is használják, amelyek az elosztott számítástechnika és a nagyméretű adatfeldolgozás alá tartoznak. Az Apache egyéb Hadoop-hoz kapcsolódó projektjei közé tartozik Kaptár, HBase, Mahout, Sqoop, Flumeés a ZooKeeper.

Hadoop Architectúra

A Hadoop master-slave architektúrával rendelkezik az adattároláshoz és az elosztott adatfeldolgozáshoz, amely a következőket használja: MapReduce és HDFS metódusok. Az alábbi ábra egymás mellé helyezi ezeket a szerepköröket, az egyik oldalon a tárolási réteggel, a másikon pedig a feldolgozási réteggel.

Magas szintű Hadoop architektúradiagram, amelyen látható a NameNode, a DataNode, a master és a slave csomópontok

Magas szintű Hadoop Architectúra

NameNode

A NameNode tárolja a névtérben használt összes fájl és könyvtár metaadatait, beleértve azt is, hogy mely blokkok alkotják az egyes fájlokat, és hol találhatók ezek a blokkok.

DataNode

Egy DataNode kezeli egy HDFS csomópont állapotát, és lehetővé teszi a tárolt blokkokkal való interakciót, periodikus blokkjelentésekkel és szívverésekkel küldve visszajelzést a NameNode-nak.

MasterNode

A főcsomópont lehetővé teszi az adatok párhuzamos feldolgozását a Hadoop MapReduce segítségével.

Szolga csomópont

A slave csomópontok a Hadoop klaszter további gépei, amelyek lehetővé teszik az adatok tárolását és összetett számítások futtatását. Ezenkívül minden slave csomópont futtat egy Task-ot.Tracker és egy DataNode. Ez lehetővé teszi a folyamatok szinkronizálását a NameNode-dal és a Job-bal.Tracker rendre.

A Hadoopban a master vagy slave rendszerek beállíthatók a felhőben vagy a helyszínen.

Egy névezési megjegyzés: MunkaTracker és a FeladatTracker az első generációs MapReduce futtatókörnyezethez (MRv1) tartoznak. A Hadoop 2.x-től kezdve a YARN megosztja feladatait egy klaszterszintű Erőforrás menedzserEgy Csomópontkezelő munkavállalónként, és egy Alkalmazásmester jobonként. A NameNode és a DataNode változatlanok.

A Hadoop jellemzői

Alkalmas Big Data elemzésre

As Big adatok Mivel természeténél fogva elosztott és strukturálatlan, a Hadoop klaszterek a legalkalmasabbak a Big Data elemzésére. Mivel a feldolgozási logika (nem maga az adat) áramlik a számítási csomópontokhoz, kevesebb hálózati sávszélességet fogyasztanak. Ezt nevezik adathelyesség fogalma, és segít növelni a Hadoop-alapú alkalmazások hatékonyságát.

Bővíthetőség

A Hadoop klaszterek könnyen skálázhatók bármilyen mértékben további klasztercsomópontok hozzáadásával, így lehetővé téve a Big Data növekedését. A skálázás továbbá nem igényli az alkalmazáslogika módosítását.

Hibatűrés

A Hadoop ökoszisztéma rendelkezik egy olyan lehetőséggel, amely lehetővé teszi a bemeneti adatok más klasztercsomópontokra történő replikálását. Így egy klasztercsomópont meghibásodása esetén az adatfeldolgozás továbbra is folytatódhat egy másik klasztercsomóponton tárolt adatok felhasználásával. A HDFS alapértelmezés szerint minden blokkról három másolatot tart fenn, ezt az értéket a... dfs.replication tulajdonságot, és a NameNode újrareplikálja azokat a blokkokat, amelyek száma ezen szám alá esik.

Hálózati topológia Hadoopban

A hálózat topológiája (elrendezése) befolyásolja a Hadoop klaszter teljesítményét a klaszter méretének növekedésével. A teljesítmény mellett a magas rendelkezésre állásra és a hibák kezelésére is figyelni kell. Ennek eléréséhez a Hadoop klaszter kialakítása hálózati topológiát használ.

Az alábbi fa bemutatja, hogyan modelleződik ez az elrendezés, az adatközponttól az egyes rackekben található csomópontokig.

Hadoop hálózati topológia fa adatközponttal, rackekkel és csomópontokkal, amelyeket a csomópontok közötti távolság mérésére használnak

A hálózati sávszélesség jellemzően fontos tényező bármely hálózat kialakításakor. Mivel azonban a sávszélesség mérése nehézkes lehet, a Hadoopban a hálózatot egy faként ábrázolják, és a fa csomópontjai közötti távolságot (a ugrások számát) tekintik fontos tényezőnek egy Hadoop klaszter kialakításában. Itt két csomópont közötti távolság megegyezik a legközelebbi közös ősüktől való távolságuk összegével.

Egy Hadoop klaszter egy adatközpontból, a rackből és a feladatokat ténylegesen végrehajtó csomópontból áll. Itt az adatközpont rackekből, a rack pedig csomópontokból áll. A folyamatok számára elérhető hálózati sávszélesség a folyamatok helyétől függően változik. Vagyis az elérhető sávszélesség egyre kisebb lesz, ahogy távolodunk a következőktől:

  • Folyamatok ugyanazon a csomóponton
  • Különböző csomópontok ugyanazon a rack-en
  • Csomópontok ugyanazon adatközpont különböző rackjein
  • Csomópontok különböző adatközpontokban

A rack-tudatosság ugyanazt a fát használja: a HDFS a replikákat egynél több racken helyezi el, így egy rack-kapcsoló elvesztése nem viszi magával az adatok összes másolatát.

GYIK

A 2026. április 2-án kiadott 3.5.0-s verzió a 3.5-ös vonal első stabil kiadása, és az új klaszterek szokásos választása. A 3.4-es vonalat továbbra is fenntartjuk, ha hosszabb ideig működő ágra van szükség.

Igen. A Hadoop támogatja az önálló módot, amely egyetlen eszközként fut. Java démonok nélküli folyamat, és pszeudo-elosztott mód, ahol minden démon külön fut egy gépen. Mindkettő tanulásra és tesztelésre szolgál, nem éles környezetre.

A feladat előzményein alapuló modellek előrejelzik a futási időket, konténerméreteket javasolnak, és jelzik az adatok torzulását a feladat befejezése előtt. Hasonló modellek átvizsgálják a NameNode és DataNode naplókat, hogy korábban észleljék a hibás lemezeket és a forró rackeket, mint a küszöbérték-riasztások.

Felgyorsítja a sablonos kódfeldolgozást: a leképező és reduktor vázakat, a job driver konfigurációját és az XML tulajdonságblokkokat. Mindig ellenőrizd a generált kódot a futtatott API verzióval, mert a Copilot keveri a régi mapred és az újabb mapreduce csomagokat.

Alapértelmezés szerint három, a dfs.replication által vezérelve. Az egyik replika az írási csomóponton marad, a második egy másik rackbe kerül, a harmadik pedig a második rackhez csatlakozik. A NameNode visszaállítja a cél alá eső blokkokat.

Továbbra is gyakori, hogy a petabájt-méretű kötegelt tárolásnak a saját hardveren kell maradnia. A legtöbb új feldolgozási folyamatot a következőre írják: Spark vagy a Flink, amelyek YARN-on futnak, így a HDFS gyakran a MapReduce visszavonása után is fennmarad tárolási rétegként.

A YARN a Hadoop 2.x-ben bevezetett erőforrás-kezelő. Ez elválasztja a klaszterütemezést a MapReduce programozási modelltől, amely eltávolította a Job-ot.Tracszűk keresztmetszet, és hagyja, hogy a motorok, mint például Spark, Tez és Flink egy klaszterben osztoznak.

Java natív. A Hadoop Streaming lehetővé teszi, hogy bármely szabványos bemenetet olvasó futtatható fájl leképezőként vagy reduktorként működjön, így Python, Ruby, Perl és C++ mind használhatók, és a Hive egy SQL-szerű réteget ad hozzá ugyanazon adatokhoz.

Foglald össze ezt a bejegyzést a következőképpen: