Mi az a Hadoop?
Az Apache Hadoop egy nyílt forráskódú szoftverkeret, amelyet elosztott számítástechnikai környezetben végrehajtott adatfeldolgozó alkalmazások fejlesztésére használnak.
A HADOOP használatával felépített alkalmazásokat nagy adatkészleteken futtatják, árucikk-számítógépek klaszterei között elosztva. Az árucikk számítógépek olcsók és széles körben elérhetőek. Ezek elsősorban a nagyobb számítási teljesítmény alacsony költség mellett történő eléréséhez hasznosak.
A személyi számítógépes rendszer helyi fájlrendszerében található adatokhoz hasonlóan a Hadoop-ban az adatok egy elosztott fájlrendszerben találhatók, amelyet Hadoop-elosztott fájlrendszerként hívnak . A feldolgozási modell az „Data Locality” koncepción alapul, ahol a számítási logika az adatokat tartalmazó fürtcsomópontokhoz (szerver) kerül elküldésre. Ez a számítási logika nem más, hanem egy program fordított változata, amelyet olyan magas szintű nyelveken írtak, mint a Java. Egy ilyen program a Hadoop HDFS-ben tárolt adatokat dolgozza fel.
Tudod? A számítógépes fürt több, egymással összekapcsolt feldolgozó egységből áll (tárolólemez + processzor), amelyek egyetlen rendszerként működnek.
Ebben az oktatóanyagban megtanulod,
- Hadoop EcoSystem és alkatrészei
- Hadoop építészet
- A „Hadoop” jellemzői
- Hálózati topológia Hadoop-ban
Hadoop EcoSystem és alkatrészei
Az alábbi ábra a Hadoop ökoszisztéma különféle összetevőit mutatja be.
Az Apache Hadoop két alprojektből áll -
- Hadoop MapReduce: A MapReduce egy számítási modell és szoftver keretrendszer a Hadoopon futtatott alkalmazások írására. Ezek a MapReduce programok képesek hatalmas adatok párhuzamos feldolgozására a számítási csomópontok nagy fürtjein.
- HDFS ( Hadoop Distributed File System ): 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 adattömb replikáját hozza 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é.
Bár Hadoop leginkább MapReduce és elosztott fájlrendszere - HDFS-ről ismert, a kifejezést a kapcsolódó projektek családjára is használják, amelyek az elosztott számítástechnika és a nagyméretű adatfeldolgozás égisze alá tartoznak. Az Apache további Hadoopal kapcsolatos projektjei a következők: Hive, HBase, Mahout, Sqoop, Flume és ZooKeeper.
Hadoop építészet
A Hadoop rendelkezik Master-Slave architektúrával az adatok tárolásához és az elosztott adatfeldolgozáshoz MapReduce és HDFS módszerekkel.
NameNode:
A NameNode képviseli a névtérben használt összes fájlt és könyvtárat
DataNode:
A DataNode segít a HDFS-csomópont állapotának kezelésében, és lehetővé teszi a blokkokkal való interakciót
MasterNode:
A fő csomópont lehetővé teszi az adatok párhuzamos feldolgozását a Hadoop MapReduce segítségével.
Slave csomópont:
A slave-csomópontok a Hadoop-fürt további gépei, amelyek lehetővé teszik adatok tárolását összetett számítások elvégzéséhez. Ezenkívül az összes szolga csomópont Task Tracker-rel és DataNode-tal érkezik. Ez lehetővé teszi a folyamatok szinkronizálását a NameNode és a Job Tracker programmal.
A Hadoopban a master vagy a slave rendszer beállítható a felhőben vagy helyben
A „Hadoop” jellemzői
• Alkalmas nagy adatok elemzésére
Mivel a Big Data általában elosztott és strukturálatlan jellegű, a HADOOP klaszterek a legalkalmasabbak a Big Data elemzésére. Mivel a feldolgozási logika (nem a tényleges adatok) áramlik a számítási csomópontokba, kevesebb hálózati sávszélességet fogyaszt. Ezt a koncepciót nevezzük adat lokalitási koncepciónak, amely elősegíti a Hadoop alapú alkalmazások hatékonyságának növelését.
• Méretezhetőség
A HADOOP-fürtök bármilyen méretben könnyen méretezhetők további fürtcsomópontok hozzáadásával, és így lehetővé teszik a Big Data növekedését. A méretezés nem igényli az alkalmazáslogika módosítását.
• Hibatűrés
A HADOOP ökoszisztéma rendelkezik a bemeneti adatok más fürtcsomópontokra történő replikálásával. Így egy fürtcsomópont meghibásodása esetén az adatfeldolgozás továbbra is folytatódik egy másik fürtcsomóponton tárolt adatok felhasználásával.
Hálózati topológia Hadoop-ban
A hálózat topológiája (elrendezése) hatással van a Hadoop-fürt teljesítményére, ha a Hadoop-fürt mérete növekszik. A teljesítmény mellett gondoskodni kell a hibák magas rendelkezésre állásáról és kezeléséről is. A Hadoop elérése érdekében a klaszterképzés a hálózati topológiát használja.
Jellemzően a hálózati sávszélesség fontos tényező, amelyet figyelembe kell venni bármely hálózat kialakításakor. Mivel azonban a sávszélesség mérése nehézségekbe ütközhet, a Hadoop-ban egy hálózatot faként ábrázolnak, és ennek a fának a csomópontjai közötti távolságot (a komló száma) fontos tényezőnek tekintik a Hadoop-klaszter kialakulásában. Itt két csomópont távolsága megegyezik a legközelebbi közös őstől való távolságuk összegével.
A Hadoop-fürt egy adatközpontból, a rackből és a ténylegesen feladatokat végrehajtó csomópontból áll. Itt az adatközpont állványokból, az állvány 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 a rendelkezésre álló sávszélesség kisebb lesz, ha elmegyünk
- Folyamatok ugyanazon a csomóponton
- Különböző csomópontok ugyanazon az állványon
- Csomópontok ugyanazon adatközpont különböző állványain
- Csomópontok különböző adatközpontokban