Apache Hadoop-architektúra a HDInsightban

Az Apache Hadoop két alapvető összetevőt tartalmaz: a tárolót biztosító Apache Hadoop elosztott fájlrendszert (HDFS), valamint a feldolgozást biztosító Apache Hadoop Yet Another Resource Negotiatort (YARN). A tárolási és feldolgozási képességekkel a fürtök képesek lesznek MapReduce-programokat futtatni a kívánt adatfeldolgozás végrehajtásához.

Megjegyzés

A HDFS-t általában nem helyezik üzembe a HDInsight-fürtön a tárolás biztosítása érdekében. Ehelyett a Hadoop-összetevők HDFS-kompatibilis felületi réteget használnak. A tényleges tárolási képességet az Azure Storage vagy Azure Data Lake Storage biztosítja. A Hadoop esetében a HDInsight-fürtön végrehajtott MapReduce-feladatok úgy futnak, mintha egy HDFS lenne jelen, így nincs szükség módosításra a tárolási igényeik támogatásához. A HDInsight-alapú Hadoopban a tárolás ki van osztva, de a YARN-feldolgozás továbbra is alapvető összetevő. További információ: Bevezetés az Azure HDInsight használatába.

Ez a cikk bemutatja a YARN-t, és azt, hogyan koordinálja az alkalmazások végrehajtását a HDInsightban.

Az Apache Hadoop YARN alapjai

A YARN szabályozza és vezényli az adatfeldolgozást a Hadoopban. A YARN két alapvető szolgáltatása van, amelyek folyamatokként futnak a fürt csomópontjaiban:

  • ResourceManager
  • NodeManager

A ResourceManager a fürt számítási erőforrásait olyan alkalmazásoknak adja, mint a MapReduce-feladatok. A ResourceManager ezeket az erőforrásokat tárolóként adja meg, ahol minden tároló cpu-magok és RAM-memória lefoglalásából áll. Ha egy fürtben rendelkezésre álló összes erőforrást egyesítette, majd blokkokban osztotta el a magokat és a memóriát, minden erőforrásblokk egy tároló. A fürt minden csomópontja rendelkezik bizonyos számú tároló kapacitásával, ezért a fürtnek rögzített korlátja van a rendelkezésre álló tárolók számára. A tárolóban lévő erőforrások kiosztása konfigurálható.

Amikor egy MapReduce-alkalmazás fut egy fürtön, a ResourceManager biztosítja az alkalmazásnak a végrehajtandó tárolókat. A ResourceManager nyomon követi a futó alkalmazások állapotát, a rendelkezésre álló fürtkapacitást, és nyomon követi az alkalmazásokat, amint befejezik és felszabadítják az erőforrásaikat.

A ResourceManager egy webkiszolgálói folyamatot is futtat, amely egy webes felhasználói felületet biztosít az alkalmazások állapotának figyeléséhez.

Amikor egy felhasználó mapReduce-alkalmazást küld a fürtön való futtatáshoz, az alkalmazás a ResourceManagerhez lesz elküldve. A ResourceManager viszont lefoglal egy tárolót az elérhető NodeManager-csomópontokon. Az alkalmazás valójában a NodeManager csomópontokon fut. Az első lefoglalt tároló egy ApplicationMaster nevű speciális alkalmazást futtat. Ez az ApplicationMaster felelős a beküldött alkalmazás futtatásához szükséges erőforrások későbbi tárolók formájában történő beszerzéséért. Az ApplicationMaster megvizsgálja az alkalmazás szakaszait, például a leképezési és csökkentési fázist, valamint a feldolgozandó adatok mennyiségét. Az ApplicationMaster ezután lekéri (egyezteti) az erőforrásokat a ResourceManagertől az alkalmazás nevében. A ResourceManager viszont erőforrásokat biztosít a fürt NodeManagers kiszolgálóitól az ApplicationMasternek, hogy az alkalmazás végrehajtásához használhassa.

A NodeManagers futtatja az alkalmazást alkotó feladatokat, majd jelentést készít a folyamat előrehaladásáról és állapotáról az ApplicationMasternek. Az ApplicationMaster viszont az alkalmazás állapotát jelenti vissza a ResourceManagernek. A ResourceManager minden eredményt visszaad az ügyfélnek.

YARN a HDInsighton

Minden HDInsight-fürttípus üzembe helyezi a YARN-t. A ResourceManager magas rendelkezésre állásra van üzembe helyezve egy elsődleges és egy másodlagos példánnyal, amely a fürt első és második átjárócsomópontján fut. Egyszerre csak a ResourceManager egy példánya aktív. A NodeManager-példányok a fürtben elérhető munkavégző csomópontokon futnak.

Apache YARN on Azure HDInsight

Helyreállítható törlés

Ha le szeretne venni egy fájlt a Storage-fiókjából, tekintse meg a következőt:

Azure Storage

Azure Data Lake Storage Gen 1

Restore-AzDataLakeStoreDeletedItem

Azure Data Lake Storage Gen 2

Az Azure Data Lake Storage Gen2-vel kapcsolatos ismert problémák

Szemét ürítése

A fs.trash.intervalHDFSAdvanced>core-site tulajdonságnak az alapértelmezett értéken 0 kell maradnia, mert nem szabad adatokat tárolnia a helyi fájlrendszerben. Ez az érték nincs hatással a távoli tárfiókokra (WASB, ADLS GEN1, ABFS)

Következő lépések