Migrera lokala Apache Hadoop-kluster till Azure HDInsight – metodtips för infrastruktur
Den här artikeln ger rekommendationer för att hantera infrastrukturen för Azure HDInsight-kluster. Det är en del av en serie som innehåller metodtips som hjälper dig att migrera lokala Apache Hadoop-system till Azure HDInsight.
Planera för kapacitet för HDInsight-kluster
De viktigaste alternativen för kapacitetsplanering för HDInsight-kluster är följande:
Region
Azure-regionen avgör var klustret är fysiskt etablerat. För att minimera svarstiden för läsningar och skrivningar bör klustret finnas i samma region som data.
Lagringsplats och storlek
Standardlagringen måste finnas i samma region som klustret. För ett 48-nodskluster rekommenderar vi att du har 4 till 8 lagringskonton. Även om det kanske redan finns tillräckligt med total lagring ger varje lagringskonto ytterligare nätverksbandbredd för beräkningsnoderna. När det finns flera lagringskonton använder du ett slumpmässigt namn för varje lagringskonto utan prefix. Syftet med slumpmässig namngivning är att minska risken för lagringsflaskhalsar (begränsning) eller vanliga fel i alla konton. För bättre prestanda använder du bara en container per lagringskonto.
VM-storlek och typ (stöder nu G-serien)
Varje klustertyp har en uppsättning nodtyper och varje nodtyp har specifika alternativ för deras VM-storlek och typ. Vm-storlek och typ bestäms av processorkraft, RAM-storlek och nätverksfördröjning. En simulerad arbetsbelastning kan användas för att fastställa den optimala VM-storleken och typen för varje nodtyp.
Antal arbetsnoder
Det första antalet arbetsnoder kan fastställas med hjälp av de simulerade arbetsbelastningarna. Klustret kan skalas senare genom att lägga till fler arbetsnoder för att uppfylla belastningstopparna. Klustret kan senare skalas tillbaka när de ytterligare arbetsnoderna inte krävs.
Mer information finns i artikeln Kapacitetsplanering för HDInsight-kluster.
Använda rekommenderad typ av virtuell dator för kluster
Se Standardnodkonfiguration och storlekar på virtuella datorer för kluster för rekommenderade typer av virtuella datorer för varje typ av HDInsight-kluster.
Kontrollera tillgängligheten för Hadoop-komponenter i HDInsight
Varje HDInsight-version är en molndistribution av en uppsättning Hadoop eco-system-komponenter. Mer information om alla HDInsight-komponenter och deras aktuella versioner finns i HDInsight-komponentversioner .
Du kan också använda Apache Ambari UI eller Ambari REST API för att kontrollera Hadoop-komponenterna och versionerna i HDInsight.
Program eller komponenter som var tillgängliga i lokala kluster men som inte ingår i HDInsight-klustren kan läggas till på en kantnod eller på en virtuell dator i samma virtuella nätverk som HDInsight-klustret. Ett Hadoop-program från tredje part som inte är tillgängligt i Azure HDInsight kan installeras med hjälp av alternativet "Program" i HDInsight-klustret. Anpassade Hadoop-program kan installeras i HDInsight-kluster med hjälp av "skriptåtgärder". I följande tabell visas några av de vanliga programmen och deras HDInsight-integreringsalternativ:
Program | Integration |
---|---|
Airflow | IaaS- eller HDInsight-kantnod |
Alluxio | IaaS |
Arcadia | IaaS |
Atlas | Ingen (endast HDP) |
Datameer | HDInsight-kantnod |
Datastax (Cassandra) | IaaS (Azure Cosmos DB ett alternativ i Azure) |
DataTorrent | IaaS |
Drill | IaaS |
Ignite | IaaS |
Jethro | IaaS |
Mapador | IaaS |
MongoDB | IaaS (Azure Cosmos DB ett alternativ i Azure) |
NiFi | IaaS |
Presto | IaaS- eller HDInsight-kantnod |
Python 2 | Paas |
Python 3 | Paas |
R | Paas |
SAS | IaaS |
Vertica | IaaS (SQLDW ett alternativ i Azure) |
Tableau | IaaS |
Vattenlinjen | HDInsight-kantnod |
StreamSets | HDInsight-kant |
Palantir | IaaS |
SailPoint | Iaas |
Mer information finns i artikeln Apache Hadoop-komponenter som är tillgängliga med olika HDInsight-versioner
Anpassa HDInsight-kluster med hjälp av skriptåtgärder
HDInsight tillhandahåller en metod för klusterkonfiguration som kallas för en skriptåtgärd. En skriptåtgärd är Ett Bash-skript som körs på noderna i ett HDInsight-kluster och som kan användas för att installera ytterligare komponenter och ändra konfigurationsinställningarna.
Skriptåtgärder måste lagras på en URI som är tillgänglig från HDInsight-klustret. De kan användas under eller efter skapandet av klustret och kan också begränsas till att endast köras på vissa nodtyper.
Skriptet kan sparas eller köras en gång. De bevarade skripten används för att anpassa nya arbetsnoder som läggs till i klustret genom skalningsåtgärder. Ett beständiga skript kan också tillämpa ändringar på en annan nodtyp, till exempel en huvudnod, när skalningsåtgärder utförs.
HDInsight tillhandahåller förskrivna skript för att installera följande komponenter i HDInsight-kluster:
- Lägga till ett Azure Storage-konto
- Installera Hue
- Installera Presto
- Installera Solr
- Installera Giraph
- Förinlästa Hive-bibliotek
- Installera eller uppdatera Mono
Kommentar
HDInsight ger inte direkt stöd för anpassade hadoop-komponenter eller komponenter som installerats med hjälp av skriptåtgärder.
Skriptåtgärder kan också publiceras på Azure Marketplace som ett HDInsight-program.
Mer information finns i följande artiklar:
- Installera Apache Hadoop-program från tredje part i HDInsight
- Anpassa HDInsight-kluster med hjälp av skriptåtgärder
- Publicera ett HDInsight-program på Azure Marketplace
Anpassa HDInsight-konfigurationer med bootstrap
Ändringar i konfigurationer i konfigurationsfilerna, core-site.xml
till exempel , hive-site.xml
och oozie-env.xml
kan göras med bootstrap. Följande skript är ett exempel med powershell AZ-modulens cmdlet New-AzHDInsightClusterConfig:
# hive-site.xml configuration
$hiveConfigValues = @{"hive.metastore.client.socket.timeout"="90"}
$config = New—AzHDInsightClusterConfig '
| Set—AzHDInsightDefaultStorage
—StorageAccountName "$defaultStorageAccountName.blob. core.windows.net" `
—StorageAccountKey "defaultStorageAccountKey " `
| Add—AzHDInsightConfigValues `
—HiveSite $hiveConfigValues
New—AzHDInsightCluster `
—ResourceGroupName $existingResourceGroupName `
—Cluster-Name $clusterName `
—Location $location `
—ClusterSizeInNodes $clusterSizeInNodes `
—ClusterType Hadoop `
—OSType Linux `
—Version "3.6" `
—HttpCredential $httpCredential `
—Config $config
Mer information finns i artikeln Anpassa HDInsight-kluster med bootstrap. Se även Hantera HDInsight-kluster med hjälp av Apache Ambari REST API.
Få åtkomst till klientverktyg från HDInsight Hadoop-klusterkantnoder
En tom gränsnod är en virtuell Linux-dator med samma klientverktyg installerade och konfigurerade som på huvudnoderna, men utan att Hadoop-tjänster körs. Kantnoden kan användas i följande syften:
- komma åt klustret
- testa klientprogram
- värd för klientprogram
Gränsnoder kan skapas och tas bort via Azure-portalen och kan användas under eller efter skapandet av klustret. När gränsnoden har skapats kan du ansluta till gränsnoden med hjälp av SSH och köra klientverktyg för att komma åt Hadoop-klustret i HDInsight. Gränsnodens ssh-slutpunkt är <EdgeNodeName>.<ClusterName>-ssh.azurehdinsight.net:22
.
Mer information finns i artikeln Använda tomma kantnoder i Apache Hadoop-kluster i HDInsight.
Använda uppskalnings- och nedskalningsfunktionen i kluster
HDInsight ger elasticitet genom att ge dig möjlighet att skala upp och skala ned antalet arbetsnoder i dina kluster. Med den här funktionen kan du krympa ett kluster efter timmar eller på helger och expandera det under höga affärsbehov. Mer information finns i:
Använda HDInsight med Azure Virtual Network
Med virtuella Azure-nätverk kan Azure-resurser, till exempel Virtuella Azure-datorer, kommunicera säkert med varandra, Internet och lokala nätverk genom att filtrera och dirigera nätverkstrafik.
Om du använder Azure Virtual Network med HDInsight kan du använda följande scenarier:
- Anslut till HDInsight direkt från ett lokalt nätverk.
- Anslut HDInsight till datalager i ett virtuellt Azure-nätverk.
- Direktåtkomst till Hadoop-tjänster som inte är tillgängliga offentligt via Internet. Till exempel Kafka-API:er eller HBase Java API.
HDInsight kan antingen läggas till i ett nytt eller befintligt virtuellt Azure-nätverk. Om HDInsight läggs till i ett befintligt virtuellt nätverk måste befintliga nätverkssäkerhetsgrupper och användardefinierade vägar uppdateras för att tillåta obegränsad åtkomst till flera IP-adresser i Azure-datacentret. Se också till att inte blockera trafik till portarna, som används av HDInsight-tjänster.
Kommentar
HDInsight stöder för närvarande inte tvingad tunneltrafik. Tvingad tunneltrafik är en undernätsinställning som tvingar utgående Internettrafik till en enhet för inspektion och loggning. Ta antingen bort tvingad tunneltrafik innan du installerar HDInsight i ett undernät eller skapa ett nytt undernät för HDInsight. HDInsight stöder inte heller begränsning av utgående nätverksanslutning.
Mer information finns i följande artiklar:
Anslut på ett säkert sätt till Azure-tjänster med tjänstslutpunkter för Azure Virtual Network
HDInsight stöder tjänstslutpunkter för virtuella nätverk, vilket gör att du kan ansluta säkert till Azure Blob Storage, Azure Data Lake Storage Gen2, Azure Cosmos DB och SQL-databaser. Genom att aktivera en tjänstslutpunkt för Azure HDInsight flödar trafiken via en säker väg inifrån Azure-datacentret. Med den här förbättrade säkerhetsnivån på nätverksskiktet kan du låsa lagringskonton för stordata till deras angivna virtuella nätverk (VNET) och fortfarande använda HDInsight-kluster sömlöst för att komma åt och bearbeta dessa data.
Mer information finns i följande artiklar:
Anslut HDInsight till det lokala nätverket
HDInsight kan anslutas till det lokala nätverket med hjälp av Azure Virtual Networks och en VPN-gateway. Följande steg kan användas för att upprätta anslutning:
- Använd HDInsight i ett virtuellt Azure-nätverk som har anslutning till det lokala nätverket.
- Konfigurera DNS-namnmatchning mellan det virtuella nätverket och det lokala nätverket.
- Konfigurera nätverkssäkerhetsgrupper eller användardefinierade vägar (UDR) för att styra nätverkstrafiken.
Mer information finns i artikeln Anslut HDInsight till ditt lokala nätverk
Nästa steg
Läs nästa artikel i den här serien: Metodtips för lagring för migrering lokalt till Azure HDInsight Hadoop.