Konfigurera kluster i HDInsight med Apache Hadoop, Spark, Kafka med mera
I den här artikeln får du lära dig hur du konfigurerar Apache Hadoop, Apache Spark, Apache Kafka, Interaktiv fråga eller Apache HBase i Azure HDInsight. Du lär dig också hur du anpassar kluster och lägger till säkerhet genom att ansluta dem till en domän.
Ett Hadoop-kluster består av flera virtuella datorer (virtuella datorer, även kallade noder) som används för distribuerad bearbetning av uppgifter. HDInsight hanterar implementeringsinformationen för installation och konfiguration av enskilda noder. Du anger endast allmän konfigurationsinformation.
Viktigt!
HDInsight-klusterfakturering startar när ett kluster har skapats och stoppas när klustret tas bort. Faktureringen beräknas per minut, så ta alltid bort klustret när det inte längre används. Lär dig hur du tar bort ett kluster.
Om du använder flera kluster tillsammans vill du skapa ett virtuellt nätverk. Om du använder ett Spark-kluster vill du också använda Hive Warehouse Connector. Mer information finns i Planera ett virtuellt nätverk för Azure HDInsight och Integrera Apache Spark och Apache Hive med Hive Warehouse Connector.
Installationsmetoder för kluster
I följande tabell visas de olika metoder som du kan använda för att konfigurera ett HDInsight-kluster.
Kluster som skapats med | Webbläsare | Kommandorad | REST API | SDK |
---|---|---|---|---|
Azure-portalen | ✅ | |||
Azure Data Factory | ✅ | ✅ | ✅ | ✅ |
Azure CLI | ✅ | |||
Azure PowerShell | ✅ | |||
cURL | ✅ | ✅ | ||
Azure Resource Manager-mallar | ✅ |
Den här artikeln beskriver hur du konfigurerar i Azure Portal, där du kan skapa ett HDInsight-kluster.
Grundläggande
Projektinformation
Azure Resource Manager hjälper dig att arbeta med resurserna i ditt program som en grupp, som kallas för en Azure-resursgrupp. Du kan distribuera, uppdatera, övervaka eller ta bort alla resurser för ditt program i en enda samordnad åtgärd.
Klusterinformation
Klusterinformation omfattar namn, region, typ och version.
Klusternamn
HDInsight-klusternamn har följande begränsningar:
- Tillåtna tecken: a-z, 0-9 och A-Z
- Maximal längd: 59
- Reserverade namn: appar
- Namngivning av kluster: Omfånget gäller för alla Azure-prenumerationer. Klusternamnet måste vara unikt över hela världen. De första sex tecknen måste vara unika i ett virtuellt nätverk.
Region
Du behöver inte uttryckligen ange klusterplatsen. Klustret finns på samma plats som standardlagringen. Om du vill ha en lista över regioner som stöds väljer du listrutan Region i HDInsight-priser.
Klustertyp
I följande tabell tillhandahåller HDInsight för närvarande klustertyperna, var och en med en uppsättning komponenter för att tillhandahålla vissa funktioner.
Viktigt!
HDInsight-kluster är tillgängliga i olika typer, var och en för en enda arbetsbelastning eller teknik. Ingen metod som stöds skapar ett kluster som kombinerar flera typer, till exempel HBase i ett kluster. Om din lösning kräver tekniker som är spridda över flera HDInsight-klustertyper kan ett virtuellt Azure-nätverk ansluta de klustertyper som krävs.
Klustertyp | Funktioner |
---|---|
Hadoop | Batchfråga och analys av lagrade data. |
HBase | Bearbetning för stora mängder schemalösa NoSQL-data. |
Interaktiv fråga | Minnesintern cachelagring för interaktiva och snabba Hive-frågor. |
Kafka | En distribuerad strömningsplattform som du kan använda för att skapa strömmande datapipelines och program i realtid. |
Spark | Minnesintern bearbetning, interaktiva frågor, bearbetning av mikrobatchströmmar. |
Version
Välj versionen av HDInsight för det här klustret. Mer information finns i HDInsight-versioner som stöds.
Klusterautentiseringsuppgifter
Med HDInsight-kluster kan du konfigurera två användarkonton när klustret skapas:
- Användarnamn för klusterinloggning: Standardanvändarnamn är administratör. Den använder den grundläggande konfigurationen på Azure Portal. Den kallas även klusteranvändare eller HTTP-användare.
- Secure Shell-användarnamn (SSH): Används för att ansluta till klustret via SSH. Mer information finns i Use SSH with HDInsight (Använda SSH med HDInsight).
HTTP-användarnamnet har följande begränsningar:
- Tillåtna specialtecken: _ och @
- Tecken tillåts inte: #;."',/:!*?$(){}[]<>|&--=+%~^blanksteg
- Maximal längd: 20
SSH-användarnamnet har följande begränsningar:
- Tillåtna specialtecken: _ och @
- Tecken tillåts inte: #;."',/:!*?$(){}[]<>|&--=+%~^blanksteg
- Maximal längd: 64
- Reserverade namn: hadoop, användare, oozie, hive, mapred, ambari-qa, zookeeper, tez, hdfs, sqoop, yarn, hcat, ams, hbase, administrator, admin, user, user1, test, user2, test1, user3, admin1, 1, 123, a, actuser, adm, admin2, aspnet, backup, console, David, guest, John, owner, root, server, sql, support, support_388945a0, sys, test2, test3, user4, user5, spark
Storage
Även om en lokal installation av Hadoop använder HdFS (Hadoop Distributed File System) för lagring i klustret använder du lagringsslutpunkter som är anslutna till klustret i molnet. Att använda molnlagring innebär att du på ett säkert sätt kan ta bort de HDInsight-kluster som används för beräkning samtidigt som du behåller dina data.
HDInsight-kluster kan använda följande lagringsalternativ:
- Azure Data Lake Storage Gen2
- Azure Storage Generell användning v2
- Azure Storage-blockblob (stöds endast som sekundär lagring)
Mer information om lagringsalternativ med HDInsight finns i Jämför lagringsalternativ för användning med Azure HDInsight-kluster.
Det går inte att använda fler lagringskonton på en annan plats än HDInsight-klustret.
Under konfigurationen anger du för standardslutpunkten för lagring en blobcontainer för ett lagringskonto eller Data Lake Storage. Standardlagringen innehåller program- och systemloggar. Du kan också ange fler länkade lagringskonton och Data Lake Storage-konton som klustret kan komma åt. HDInsight-klustret och de beroende lagringskontona måste finnas på samma Azure-plats.
Kommentar
Funktionen som kräver säker överföring framtvingar alla begäranden till ditt konto via en säker anslutning. Endast HDInsight-klusterversion 3.6 eller senare stöder den här funktionen. Mer information finns i Skapa Apache Hadoop-kluster med säkra överföringslagringskonton i Azure HDInsight.
Aktivera inte säker lagringsöverföring när du har skapat ett kluster eftersom det kan leda till fel när du använder ditt lagringskonto. Det är bättre att skapa ett nytt kluster med hjälp av ett lagringskonto med säker överföring redan aktiverat.
HDInsight överför, flyttar eller kopierar inte data som lagras i lagringen automatiskt från en region till en annan.
Inställningar för metaarkiv
Du kan skapa valfria Hive- eller Apache Oozie-metaarkiv. Alla klustertyper stöder inte metaarkiv och Azure Synapse Analytics är inte kompatibelt med metaarkiv.
Mer information finns i Använda externa metadatalager i Azure HDInsight.
När du skapar ett anpassat metaarkiv ska du inte använda bindestreck, bindestreck eller blanksteg i databasnamnet. Dessa tecken kan leda till att processen för att skapa klustret misslyckas.
SQL-databas för Hive
Om du vill behålla dina Hive-tabeller när du har tagit bort ett HDInsight-kluster använder du ett anpassat metaarkiv. Du kan sedan koppla metaarkivet till ett annat HDInsight-kluster.
Ett HDInsight-metaarkiv som har skapats för en HDInsight-klusterversion kan inte delas mellan olika HDInsight-klusterversioner. En lista över HDInsight-versioner finns i HDInsight-versioner som stöds.
Du kan använda hanterade identiteter för att autentisera med SQL Database for Hive. Mer information finns i Använda hanterad identitet för SQL Database-autentisering i HDInsight.
Standardmetaarkivet tillhandahåller en SQL-databas med en DTU-gräns på grundläggande nivå 5 (kan inte uppgraderas).. Den är lämplig för grundläggande testning. För stora arbetsbelastningar eller produktionsarbetsbelastningar rekommenderar vi att du migrerar till ett externt metaarkiv.
SQL-databas för Oozie
Om du vill öka prestandan när du använder Oozie använder du ett anpassat metaarkiv. Ett metaarkiv kan också ge åtkomst till Oozie-jobbdata när du har tagit bort klustret.
Du kan använda hanterade identiteter för att autentisera med SQL Database for Oozie. Mer information finns i Använda hanterad identitet för SQL Database-autentisering i HDInsight.
SQL-databas för Ambari
Ambari används för att övervaka HDInsight-kluster, göra konfigurationsändringar och lagra information om klusterhantering och jobbhistorik. Med den anpassade Ambari-databasfunktionen kan du distribuera ett nytt kluster och konfigurera Ambari i en extern databas som du hanterar. Mer information finns i Anpassad Ambari-databas.
Du kan använda hanterade identiteter för att autentisera med SQL Database for Ambari. Mer information finns i Använda hanterad identitet för SQL Database-autentisering i HDInsight.
Du kan inte återanvända ett anpassat Oozie-metaarkiv. Om du vill använda ett anpassat Oozie-metaarkiv måste du ange en tom SQL-databas när du skapar HDInsight-klustret.
Säkerhet + nätverk
Enterprise-säkerhetspaket
För klustertyperna Hadoop, Spark, HBase, Kafka och Interaktiv fråga kan du välja att aktivera företagssäkerhetspaketet. Det här paketet ger möjlighet att ha en säkrare klusterkonfiguration med hjälp av Apache Ranger och integrering med Microsoft Entra. Mer information finns i Översikt över företagssäkerhet i Azure HDInsight.
Med företagssäkerhetspaketet kan du integrera HDInsight med Microsoft Entra och Apache Ranger. Du kan använda företagssäkerhetspaketet för att skapa flera användare.
Mer information om hur du skapar ett domänanslutet HDInsight-kluster finns i Skapa domänansluten HDInsight-sandbox-miljö.
Transport Layer Security
Mer information finns i Transport Layer Security.
Virtuellt nätverk
Om din lösning kräver tekniker som är spridda över flera HDInsight-klustertyper kan ett virtuellt Azure-nätverk ansluta de klustertyper som krävs. Med den här konfigurationen kan klustren och all kod som du distribuerar till dem kommunicera direkt med varandra.
Mer information om hur du använder ett virtuellt Azure-nätverk med HDInsight finns i Planera ett virtuellt nätverk för HDInsight.
Ett exempel på hur du använder två klustertyper i ett virtuellt Azure-nätverk finns i Använda Apache Spark Structured Streaming med Apache Kafka. Mer information om hur du använder HDInsight med ett virtuellt nätverk, inklusive specifika konfigurationskrav för det virtuella nätverket, finns i Planera ett virtuellt nätverk för HDInsight.
Inställning för diskkryptering
Mer information finns i Diskkryptering av kundhanterad nyckel.
Kafka REST-proxy
Den här inställningen är endast tillgänglig för Kafka-klustertypen. Mer information finns i Använda en REST-proxy.
Identitet
Mer information finns i Hanterade identiteter i Azure HDInsight.
Konfiguration + prissättning
Du debiteras för nodanvändning så länge klustret finns. Faktureringen startar när ett kluster skapas och stoppas när klustret tas bort. Kluster kan inte frigöras eller spärras.
Nodkonfiguration
Varje klustertyp har sitt eget antal noder, terminologi för noder och standardstorlek för virtuella datorer. I följande tabell visas antalet noder för varje nodtyp i parenteser.
Typ | Noder | Diagram |
---|---|---|
Hadoop | Huvudnod (2), arbetsnod (1+) |
![]() |
HBase | Huvudserver (2), regionserver (1+), Master/ZooKeeper-nod (3) |
![]() |
Spark | Huvudnod (2), arbetsnod (1+), ZooKeeper-nod (3) (kostnadsfri för A1 ZooKeeper VM-storlek) |
![]() |
Mer information finns i Standardnodkonfiguration och VM-storlekar för kluster.
Kostnaden för HDInsight-kluster som bestäms av antalet noder och VM-storlekarna för noderna.
Olika klustertyper har olika nodtyper, antal noder och nodstorlekar:
Standard för Hadoop-klustertyp:
- Två huvudnoder
- Fyra arbetsnoder
Om du testar HDInsight rekommenderar vi att du använder en arbetsnod. Mer information om HDInsight-priser finns i HDInsight-priser.
Kommentar
Klusterstorleksgränsen varierar mellan Azure-prenumerationer. Kontakta Azure-faktureringssupporten för att öka gränsen.
När du använder Azure Portal för att konfigurera klustret är nodstorleken tillgänglig via fliken Konfiguration + prissättning. I portalen kan du också se kostnaden som är associerad med de olika nodstorlekarna.
Storlekar för virtuella datorer
När du distribuerar kluster väljer du beräkningsresurser baserat på den lösning som du planerar att distribuera. Följande virtuella datorer används för HDInsight-kluster:
- Virtuella datorer i A- och D1-4-serien: Storlekar på virtuella Linux-datorer för generell användning
- Virtuell dator i D11-14-serien: Minnesoptimerade vm-storlekar för Linux
Information om vilket värde du bör använda för att ange en VM-storlek när du skapar ett kluster med hjälp av de olika SDK:erna eller Azure PowerShell finns i VM-storlekar som ska användas för HDInsight-kluster. I den här länkade artikeln använder du värdet i kolumnen Storlek i tabellerna.
Viktigt!
Om du behöver fler än 32 arbetsnoder i ett kluster måste du välja en huvudnodstorlek med minst 8 kärnor och 14 GB RAM-minne.
Mer information finns i Storlekar för virtuella datorer. Information om priser för de olika storlekarna finns i HDInsight-priser.
Bifogad disk
Kommentar
De tillagda diskarna konfigureras endast för lokala nodhanterare och inte för datanodkataloger.
Ett HDInsight-kluster levereras med fördefinierat diskutrymme baserat på versionen. Att köra vissa stora program kan leda till otillräckligt diskutrymme, med diskens fullständiga fel LinkId=221672#ERROR_NOT_ENOUGH_DISK_SPACE
och jobbfel.
Du kan lägga till fler diskar i klustret med hjälp av den nya funktionen NodeManager för den lokala katalogen. När Hive- och Spark-klustret skapas kan du välja antalet diskar och lägga till dem i arbetsnoderna. De valda diskarna kan vara 1 TB vardera och ingår i lokala NodeManager-kataloger .
- På fliken Konfiguration + prissättning väljer du Aktivera hanterad disk.
- Från Standard-diskar anger du antalet diskar.
- Välj din arbetsnod.
Du kan kontrollera antalet diskar på fliken Granska + skapa under Klusterkonfiguration.
Lägga till ett program
Du kan installera HDInsight-program på ett Linux-baserat HDInsight-kluster. Du kan använda program som tillhandahålls av Microsoft eller tredje part eller som du har utvecklat. Mer information finns i Installera Apache Hadoop-program från tredje part i Azure HDInsight.
De flesta HDInsight-program installeras på en tom kantnod. En tom gränsnod är en virtuell Linux-dator med samma klientverktyg installerade och konfigurerade som i huvudnoden. Du kan använda gränsnoden för att komma åt klustret, testa dina klientprogram och vara värd för dina klientprogram. Mer information finns i Använda tomma kantnoder i HDInsight.
Skriptåtgärder
Du kan installera fler komponenter eller anpassa klusterkonfigurationen med hjälp av skript när du skapar. Sådana skript anropas via skriptåtgärder, vilket är ett konfigurationsalternativ som du kan använda från Azure Portal, HDInsight Windows PowerShell-cmdletar eller HDInsight .NET SDK. Mer information finns i Anpassa HDInsight-kluster med hjälp av skriptåtgärder.
Vissa inbyggda Java-komponenter, till exempel Apache Mahout och Cascading, kan köras i klustret som JAVA-arkivfiler (JAR). Du kan distribuera dessa JAR-filer till lagring och skicka dem till HDInsight-kluster med mekanismer för Hadoop-jobböverföring. Mer information finns i Skicka Apache Hadoop-jobb programmatiskt.
Kommentar
Om du har problem med att distribuera JAR-filer till HDInsight-kluster eller anropa JAR-filer i HDInsight-kluster kontaktar du Microsoft Support.
HDInsight stöder inte sammanhängande och är inte berättigat till Microsoft-support. Listor över komponenter som stöds finns i Nyheter i klusterversionerna som tillhandahålls av HDInsight.
Ibland vill du konfigurera följande konfigurationsfiler under skapandeprocessen:
- clusterIdentity.xml
- core-site.xml
- gateway.xml
- hbase-env.xml
- hbase-site.xml
- hdfs-site.xml
- hive-env.xml
- hive-site.xml
- mapred-site
- oozie-site.xml
- oozie-env.xml
- tez-site.xml
- webhcat-site.xml
- yarn-site.xml
Mer information finns i Anpassa HDInsight-kluster med hjälp av Bootstrap.