Delen via


Apache Hadoop-architectuur in HDInsight

Apache Hadoop bevat twee kernonderdelen: het Apache Hadoop Distributed File System (HDFS) dat opslag biedt en Apache Hadoop Yet Another Resource Negotiator (YARN) die verwerking biedt. Met opslag- en verwerkingsmogelijkheden kan een cluster MapReduce-programma's uitvoeren om de gewenste gegevensverwerking uit te voeren.

Notitie

Een HDFS wordt doorgaans niet geïmplementeerd in het HDInsight-cluster om opslag te bieden. In plaats daarvan wordt een HDFS-compatibele interfacelaag gebruikt door Hadoop-onderdelen. De werkelijke opslagmogelijkheid wordt geleverd door Azure Storage of Azure Data Lake Storage. Voor Hadoop worden MapReduce-taken die worden uitgevoerd op het HDInsight-cluster uitgevoerd alsof er een HDFS aanwezig was en dus geen wijzigingen nodig zijn om hun opslagbehoeften te ondersteunen. In Hadoop in HDInsight wordt opslag uitbesteed, maar YARN-verwerking blijft een kernonderdeel. Zie Inleiding tot Azure HDInsight voor meer informatie.

In dit artikel wordt YARN geïntroduceerd en wordt uitgelegd hoe het de uitvoering van toepassingen in HDInsight coördineert.

Basisprincipes van Apache Hadoop YARN

YARN beheert en organiseert gegevensverwerking in Hadoop. YARN heeft twee kernservices die worden uitgevoerd als processen op knooppunten in het cluster:

  • ResourceManager
  • NodeManager

ResourceManager verleent clusterresources aan toepassingen zoals MapReduce-taken. ResourceManager verleent deze resources als containers, waarbij elke container bestaat uit een toewijzing van CPU-kernen en RAM-geheugen. Als u alle resources die beschikbaar zijn in een cluster hebt gecombineerd en vervolgens de kernen en het geheugen in blokken hebt gedistribueerd, is elk blok resources een container. Elk knooppunt in het cluster heeft een capaciteit voor een bepaald aantal containers, waardoor het cluster een vaste limiet heeft voor het aantal beschikbare containers. De toewijzing van resources in een container kan worden geconfigureerd.

Wanneer een MapReduce-toepassing wordt uitgevoerd op een cluster, biedt ResourceManager de toepassing de containers waarin moet worden uitgevoerd. De ResourceManager houdt de status bij van actieve toepassingen, beschikbare clustercapaciteit en houdt toepassingen bij wanneer ze zijn voltooid en hun resources vrijgeven.

ResourceManager voert ook een webserverproces uit dat een webgebruikersinterface biedt om de status van toepassingen te bewaken.

Wanneer een gebruiker een MapReduce-toepassing verzendt die op het cluster moet worden uitgevoerd, wordt de toepassing verzonden naar ResourceManager. Op zijn beurt wijst ResourceManager een container toe op beschikbare NodeManager-knooppunten. De NodeManager-knooppunten zijn waar de toepassing daadwerkelijk wordt uitgevoerd. De eerste container die is toegewezen, voert een speciale toepassing uit met de naam ApplicationMaster. Deze ApplicationMaster is verantwoordelijk voor het verkrijgen van resources, in de vorm van volgende containers, die nodig zijn om de ingediende toepassing uit te voeren. ApplicationMaster onderzoekt de fasen van de toepassing, zoals de kaartfase en de reductiefase, en factoren in de hoeveelheid gegevens die moeten worden verwerkt. ApplicationMaster vraagt vervolgens (onderhandelt) over de resources van de ResourceManager namens de toepassing. ResourceManager verleent op zijn beurt resources van de NodeManagers in het cluster aan ApplicationMaster, zodat deze kan worden gebruikt bij het uitvoeren van de toepassing.

De NodeManagers voeren de taken uit waaruit de toepassing bestaat en rapporteren hun voortgang en status vervolgens terug naar de ApplicationMaster. ApplicationMaster rapporteert op zijn beurt de status van de toepassing terug aan ResourceManager. ResourceManager retourneert eventuele resultaten aan de client.

YARN in HDInsight

Alle HDInsight-clustertypen implementeren YARN. ResourceManager wordt geïmplementeerd voor hoge beschikbaarheid met een primair en secundair exemplaar, dat wordt uitgevoerd op respectievelijk de eerste en tweede hoofdknooppunten in het cluster. Slechts het ene exemplaar van de ResourceManager is tegelijk actief. De NodeManager-exemplaren worden uitgevoerd op de beschikbare werkknooppunten in het cluster.

Apache YARN on Azure HDInsight.

Voorlopig verwijderen

Als u het verwijderen van een bestand uit uw opslagaccount ongedaan wilt maken, raadpleegt u:

Azure Storage

Azure Data Lake Storage Gen 1

Restore-AzDataLakeStoreDeletedItem

Azure Data Lake Storage Gen 2

Bekende problemen met Azure Data Lake Storage Gen2

Prullenmand leegmaken

De fs.trash.interval eigenschap van HDFS>Advanced core-site moet de standaardwaarde blijven, 0 omdat u geen gegevens opslaat in het lokale bestandssysteem. Deze waarde heeft geen invloed op externe opslagaccounts (WASB, ADLS GEN1, ABFS)

Volgende stappen