On-premises Apache Hadoop-clusters migreren naar Azure HDInsight - best practices voor infrastructuur
Dit artikel bevat aanbevelingen voor het beheren van de infrastructuur van Azure HDInsight-clusters. Het maakt deel uit van een reeks met aanbevolen procedures voor het migreren van on-premises Apache Hadoop-systemen naar Azure HDInsight.
Capaciteit voor HDInsight-cluster plannen
De belangrijkste keuzes die u moet maken voor het plannen van HDInsight-clustercapaciteit zijn het volgende:
Regio
De Azure-regio bepaalt waar het cluster fysiek is ingericht. Om de latentie van lees- en schrijfbewerkingen te minimaliseren, moet het cluster zich in dezelfde regio bevinden als de gegevens.
Opslaglocatie en -grootte
De standaardopslag moet zich in dezelfde regio bevinden als het cluster. Voor een cluster met 48 knooppunten is het raadzaam om 4 tot 8 opslagaccounts te hebben. Hoewel er mogelijk al voldoende totale opslag is, biedt elk opslagaccount extra netwerkbandbreedte voor de rekenknooppunten. Als er meerdere opslagaccounts zijn, gebruikt u een willekeurige naam voor elk opslagaccount, zonder voorvoegsel. Het doel van willekeurige naamgeving is het verminderen van de kans op opslagknelpunten (beperking) of fouten in de algemene modus voor alle accounts. Gebruik slechts één container per opslagaccount voor betere prestaties.
VM-grootte en -type (ondersteunt nu de G-serie)
Elk clustertype heeft een set knooppunttypen en elk knooppunttype heeft specifieke opties voor de VM-grootte en het type. De VM-grootte en het type worden bepaald door cpu-verwerkingskracht, RAM-grootte en netwerklatentie. Een gesimuleerde workload kan worden gebruikt om de optimale VM-grootte en het type voor elke knooppunttypen te bepalen.
Aantal werkknooppunten
Het eerste aantal werkknooppunten kan worden bepaald met behulp van de gesimuleerde workloads. Het cluster kan later worden geschaald door meer werkknooppunten toe te voegen om te voldoen aan piekbelastingsvereisten. Het cluster kan later worden terug geschaald wanneer de extra werkknooppunten niet nodig zijn.
Zie het artikel Capaciteitsplanning voor HDInsight-clusters voor meer informatie.
Aanbevolen type virtuele machine gebruiken voor cluster
Zie de standaardknooppuntconfiguratie en de grootte van virtuele machines voor clusters voor aanbevolen typen virtuele machines voor elk type HDInsight-cluster.
Beschikbaarheid van Hadoop-onderdelen controleren in HDInsight
Elke HDInsight-versie is een clouddistributie van een set Hadoop-ecosysteemonderdelen. Zie versiebeheer van HDInsight-onderdelen voor meer informatie over alle HDInsight-onderdelen en hun huidige versies.
U kunt ook de Apache Ambari-gebruikersinterface of Ambari REST API gebruiken om de Hadoop-onderdelen en -versies in HDInsight te controleren.
Toepassingen of onderdelen die beschikbaar waren in on-premises clusters, maar die geen deel uitmaken van de HDInsight-clusters, kunnen worden toegevoegd op een edge-knooppunt of op een VIRTUELE machine in hetzelfde VNet als het HDInsight-cluster. Een Hadoop-toepassing van derden die niet beschikbaar is in Azure HDInsight, kan worden geïnstalleerd met behulp van de optie 'Toepassingen' in het HDInsight-cluster. Aangepaste Hadoop-toepassingen kunnen worden geïnstalleerd in een HDInsight-cluster met behulp van scriptacties. De volgende tabel bevat enkele algemene toepassingen en hun HDInsight-integratieopties:
Toepassing | Integratie |
---|---|
Luchtstroom | IaaS- of HDInsight Edge-knooppunt |
Alluxio | IaaS |
Arcadia | IaaS |
Atlas | Geen (alleen HDP) |
Datameer | HDInsight Edge-knooppunt |
Datastax (Cassandra) | IaaS (Azure Cosmos DB een alternatief in Azure) |
Data Torrent | IaaS |
Drill | IaaS |
Ignite | IaaS |
Jethro | IaaS |
Mapador | IaaS |
MongoDB | IaaS (Azure Cosmos DB een alternatief in Azure) |
NiFi | IaaS |
Presto | IaaS- of HDInsight Edge-knooppunt |
Python 2 | Paas |
Python 3 | Paas |
R | Paas |
SAS | IaaS |
Vertica | IaaS (SQLDW een alternatief in Azure) |
Tableau | IaaS |
Waterlijn | HDInsight Edge-knooppunt |
StreamSets | HDInsight Edge |
Palantir | IaaS |
Sailpoint | Iaas |
Zie het artikel Apache Hadoop-onderdelen die beschikbaar zijn met verschillende HDInsight-versies voor meer informatie
HDInsight-clusters aanpassen met scriptacties
HDInsight biedt een clusterconfiguratiemethode die een scriptactie wordt genoemd. Een scriptactie is Bash-script dat wordt uitgevoerd op de knooppunten in een HDInsight-cluster en kan worden gebruikt om extra onderdelen te installeren en configuratie-instellingen te wijzigen.
Scriptacties moeten worden opgeslagen op een URI die toegankelijk is vanuit het HDInsight-cluster. Ze kunnen worden gebruikt tijdens of na het maken van het cluster en kunnen ook alleen worden uitgevoerd op bepaalde knooppunttypen.
Het script kan één keer worden persistent of uitgevoerd. De persistente scripts worden gebruikt om nieuwe werkknooppunten die aan het cluster worden toegevoegd, aan te passen via schaalbewerkingen. Een persistent script kan ook wijzigingen toepassen op een ander knooppunttype, zoals een hoofdknooppunt, wanneer er schaalbewerkingen plaatsvinden.
HDInsight biedt vooraf geschreven scripts voor het installeren van de volgende onderdelen op HDInsight-clusters:
- Een Azure Storage-account toevoegen
- Hue installeren
- Presto installeren
- Solr installeren
- Giraph installeren
- Hive-bibliotheken vooraf laden
- Mono installeren of bijwerken
Notitie
HDInsight biedt geen directe ondersteuning voor aangepaste hadoop-onderdelen of onderdelen die zijn geïnstalleerd met behulp van scriptacties.
Scriptacties kunnen ook als HDInsight-toepassing worden gepubliceerd naar Azure Marketplace.
Raadpleeg voor meer informatie de volgende artikelen:
- Apache Hadoop-toepassingen van derden installeren in HDInsight
- HDInsight-clusters aanpassen met scriptacties
- Een HDInsight-toepassing publiceren in Azure Marketplace
HDInsight-configuraties aanpassen met Bootstrap
Wijzigingen in configuraties in de configuratiebestanden zoals core-site.xml
, hive-site.xml
en oozie-env.xml
kunnen worden aangebracht met Bootstrap. Het volgende script is een voorbeeld met behulp van de PowerShell AZ-module-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
Zie het artikel HDInsight-clusters aanpassen met Bootstrap voor meer informatie. Zie ook HDInsight-clusters beheren met behulp van de Apache Ambari REST API.
Toegang tot clienthulpprogramma's vanuit HDInsight Hadoop-clusterrandknooppunten
Een leeg edge-knooppunt is een virtuele Linux-machine waarop dezelfde clienthulpprogramma's zijn geïnstalleerd en geconfigureerd als op de hoofdknooppunten, maar zonder Hadoop-services die worden uitgevoerd. Het edge-knooppunt kan worden gebruikt voor de volgende doeleinden:
- toegang tot het cluster
- clienttoepassingen testen
- clienttoepassingen hosten
Edge-knooppunten kunnen worden gemaakt en verwijderd via Azure Portal en kunnen worden gebruikt tijdens of na het maken van het cluster. Nadat het edge-knooppunt is gemaakt, kunt u verbinding maken met het edge-knooppunt met behulp van SSH en clienthulpprogramma's uitvoeren voor toegang tot het Hadoop-cluster in HDInsight. Het SSH-eindpunt van het Edge-knooppunt is <EdgeNodeName>.<ClusterName>-ssh.azurehdinsight.net:22
.
Zie het artikel Lege edge-knooppunten gebruiken in Apache Hadoop-clusters in HDInsight voor meer informatie.
De functie omhoog en omlaag schalen van clusters gebruiken
HDInsight biedt elasticiteit door u de mogelijkheid te bieden om het aantal werkknooppunten in uw clusters omhoog en omlaag te schalen. Met deze functie kunt u een cluster na uren of in het weekend verkleinen en uitbreiden tijdens piekvereisten voor het bedrijf. Zie voor meer informatie:
- HDInsight-clusters schalen.
- Clusters schalen.
HDInsight gebruiken met Azure Virtual Network
Met Azure Virtual Networks kunnen Azure-resources, zoals Azure Virtual Machines, veilig met elkaar, internet en on-premises netwerken communiceren door netwerkverkeer te filteren en te routeren.
Het gebruik van Azure Virtual Network met HDInsight maakt de volgende scenario's mogelijk:
- Verbinding maken rechtstreeks vanuit een on-premises netwerk naar HDInsight.
- Verbinding maken HDInsight naar gegevensarchieven in een virtueel Azure-netwerk.
- Rechtstreeks toegang tot Hadoop-services die niet openbaar beschikbaar zijn via internet. Bijvoorbeeld Kafka-API's of de HBase Java-API.
HDInsight kan worden toegevoegd aan een nieuw of bestaand Virtueel Azure-netwerk. Als HDInsight wordt toegevoegd aan een bestaand virtueel netwerk, moeten de bestaande netwerkbeveiligingsgroepen en door de gebruiker gedefinieerde routes worden bijgewerkt om onbeperkte toegang tot verschillende IP-adressen in het Azure-datacenter mogelijk te maken. Zorg er ook voor dat u het verkeer naar de poorten die worden gebruikt door HDInsight-services niet blokkeert.
Notitie
HDInsight biedt momenteel geen ondersteuning voor geforceerde tunneling. Geforceerde tunneling is een subnetinstelling die uitgaand internetverkeer naar een apparaat dwingt voor inspectie en logboekregistratie. Verwijder geforceerde tunneling voordat u HDInsight in een subnet installeert of maak een nieuw subnet voor HDInsight. HDInsight biedt ook geen ondersteuning voor het beperken van uitgaande netwerkconnectiviteit.
Raadpleeg voor meer informatie de volgende artikelen:
- Overzicht van virtuele Azure-netwerken
- Azure HDInsight uitbreiden met behulp van een virtueel Azure-netwerk.
Veilig verbinding maken met Azure-services met Azure Virtual Network-service-eindpunten
HDInsight ondersteunt service-eindpunten voor virtuele netwerken, waarmee u veilig verbinding kunt maken met Azure Blob Storage, Azure Data Lake Storage Gen2, Azure Cosmos DB en SQL-databases. Door een service-eindpunt voor Azure HDInsight in te schakelen, loopt het verkeer via een beveiligde route vanuit het Azure-datacenter. Met dit verbeterde beveiligingsniveau op de netwerklaag kunt u big data-opslagaccounts vergrendelen voor hun opgegeven virtuele netwerken (VNET's) en hdInsight-clusters nog steeds naadloos gebruiken om toegang te krijgen tot die gegevens en deze te verwerken.
Raadpleeg voor meer informatie de volgende artikelen:
Verbinding maken HDInsight naar het on-premises netwerk
HDInsight kan worden verbonden met het on-premises netwerk met behulp van virtuele Azure-netwerken en een VPN-gateway. De volgende stappen kunnen worden gebruikt om connectiviteit tot stand te brengen:
- Gebruik HDInsight in een virtueel Azure-netwerk dat verbinding heeft met het on-premises netwerk.
- Configureer DNS-naamomzetting tussen het virtuele netwerk en het on-premises netwerk.
- Configureer netwerkbeveiligingsgroepen of door de gebruiker gedefinieerde routes (UDR) om netwerkverkeer te beheren.
Zie het artikel Verbinding maken HDInsight voor uw on-premises netwerk voor meer informatie
Volgende stappen
Lees het volgende artikel in deze reeks: Aanbevolen procedures voor opslag voor on-premises naar Azure HDInsight Hadoop-migratie.