Hur fungerar HDInsight
HDInsight är ett molnbaserat databehandlingssystem som är mycket tillgängligt och säkert som standard. Kärnan i det här systemet är Apache Hadoop. Apache Hadoop innehåller två kärnkomponenter: Apache Hadoop Distributed File System (HDFS) som används för lagring och Apache Hadoop Yet Another Resource Negotiator (YARN) som tillhandahåller bearbetningen. Dessutom är en enkel MapReduce-programmeringsmodell som gör att du kan bearbeta och analysera data. Fördelarna med att använda MapReduce är att det är enkelt att konfigurera och du kan styra dina kostnader via autoskalningsfunktionen.
Storage
Lagringsaspekten skapas inte automatiskt när du etablerar ett HDInsight-kluster. I stället tillhandahålls det av ett HDFS-kompatibelt system som Azure Storage eller Azure Data Lake. Genom att ta bort lagringen från bearbetningslagret kan du på ett säkert sätt ta bort ett HDInsight-kluster som används för beräkning utan att förlora användardata. När du lägger till ett HDInsight-kluster måste du definiera ett standardfilsystem. Du kan länka och ta bort länk till filsystem efter behov för att öka lagringens storlek.
Följande information är specifik för HDInsight 3.6 och senare. Under processen för att skapa HDInsight-kluster kan du välja antingen Azure Storage eller Azure Data Lake Storage Gen2 som standardfilsystem med några få undantag. Om du tillhandahåller ett standardfilsystem ser du till att relativa filreferenser kan matchas när du söker efter filer. För Azure Storage bör du ange en blobcontainer som standardfilsystem.
De flesta installationer använder Azure Data Lake Storage Gen2. Den här typen av installation använder grundläggande funktioner i ett filsystem som är kompatibla med Hadoop, Microsoft Entra-integrering och POSIX-baserade åtkomstkontrollistor (ACL). Du kan använda Azure Blob Storage för bakåtkompatibilitet, men vi rekommenderar starkt att du använder Azure Data Lake Storage Gen2 när det är möjligt.
Bearbetning
När du bearbetar data delas beräkningsaspekten av ett Hadoop-kluster i HDInsight upp i två logiska områden. Huvudnoder (huvudnoder) och arbetsnoder. Noden Head (Master) ansvarar för att acceptera och hantera klientbegäranden och sedan skicka begäran till arbetsnoderna för att utföra bearbetningen av data. Det finns vanligtvis två huvudnoder. En aktiv huvudnod som hanterar klientanslutningarna. En andra passiv huvudnod som ger motståndskraft i händelse av att den primära ska bli offline.
Arbetsnoden ansvarar för att bearbeta de data som har tilldelats till den av huvudnoden. De data som hanteras beror på hur mapreduce-programmeringsmodellen har definierat hur du ska arbeta med data och hur huvudnoden allokerar arbetet. Både noden Head och Worker kan ansluta antingen direkt till ett lokalt anslutet distribuerat filsystem (DFS) eller komma åt data som lagras i Azure Blob eller Azure Data Lake.
Ur ETT OSS-perspektiv utförs resurshanteringsfunktionerna i ett HDInsight-kluster av YARN. Den här tjänsten hanterar de resurser och jobbschemaläggningar som utförs när du bearbetar data. Den finns mellan HDFS och beräkningssystemet i HDInsight-klustret. Tjänsten fungerar med andra OSS-tekniker för att säkerställa att resurserna för att bearbeta HDInsight-jobbet är tillgängliga. YARN fungerar med huvudnoden för att distribuera jobbet mellan klustrets arbetsnoder för att säkerställa att databearbetningsjobben parallelliseras.
HDFS, YARN och MapReduce är de tre kärntjänster som krävs för Hadoop på HDInsight. Det är vanligt att använda ytterligare OSS-tekniker för att göra det enklare att skapa en lösning. Du kan till exempel använda Hive som abstraktionslager. En som sitter ovanpå MapReduce så att du kan skriva språkkonstruktioner av SQL-typ för att utföra ad hoc-databearbetning och analys. Eller så kan du använda Apache Ambari för att utföra övervakning på HDInsight-klustret.