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.
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)