Delen via


Een virtueel netwerk plannen voor Azure HDInsight

Dit artikel bevat achtergrondinformatie over het gebruik van Azure Virtual Networks (VNets) met Azure HDInsight. Ook worden ontwerp- en implementatiebeslissingen besproken die moeten worden genomen voordat u een virtueel netwerk voor uw HDInsight-cluster kunt implementeren. Zodra de planningsfase is voltooid, kunt u doorgaan met het maken van virtuele netwerken voor Azure HDInsight-clusters. Zie IP-adressen voor HDInsight-beheer die nodig zijn voor het correct configureren van netwerkbeveiligingsgroepen (NSG's) en door de gebruiker gedefinieerde routes voor HDInsight-beheer voor meer informatie over IP-adressen voor HDInsight-beheer.

Met behulp van een virtueel Azure-netwerk kunt u de volgende scenario's uitvoeren:

  • Rechtstreeks vanuit een on-premises netwerk verbinding maken met HDInsight.
  • HDInsight verbinden met gegevensarchieven in een virtueel Azure-netwerk.
  • Rechtstreeks toegang tot Apache Hadoop-services die niet openbaar via internet beschikbaar zijn. Bijvoorbeeld Apache Kafka-API's of de Apache HBase Java-API.

Belangrijk

Als u een HDInsight-cluster in een VNET maakt, worden verschillende netwerkresources, zoals NIC's en load balancers, gemaakt. Verwijder of wijzig deze netwerkresources niet , omdat ze nodig zijn om uw cluster correct te laten functioneren met het VNET.

Planning

Hier volgen de vragen die u moet beantwoorden bij het installeren van HDInsight in een virtueel netwerk:

  • Moet u HDInsight installeren in een bestaand virtueel netwerk? Of maakt u een nieuw netwerk?

    Als u een bestaand virtueel netwerk gebruikt, moet u mogelijk de netwerkconfiguratie wijzigen voordat u HDInsight kunt installeren. Zie de toegevoegde HDInsight-sectie voor meer informatie aan een bestaand virtueel netwerk .

  • Wilt u het virtuele netwerk met HDInsight verbinden met een ander virtueel netwerk of uw on-premises netwerk?

    Als u eenvoudig met resources in verschillende netwerken wilt werken, moet u mogelijk een aangepaste DNS maken en DNS-doorsturen configureren. Zie de sectie Verbinding maken met meerdere netwerken voor meer informatie.

  • Wilt u binnenkomend of uitgaand verkeer beperken/omleiden naar HDInsight?

    HDInsight moet onbeperkte communicatie hebben met specifieke IP-adressen in het Azure-datacenter. Er zijn ook verschillende poorten die moeten worden toegestaan via firewalls voor clientcommunicatie. Zie Netwerkverkeer beheren voor meer informatie.

HDInsight toevoegen aan een bestaand virtueel netwerk

Gebruik de stappen in deze sectie om te ontdekken hoe u een nieuwe HDInsight toevoegt aan een bestaand Virtueel Azure-netwerk.

Notitie

  • U kunt geen bestaand HDInsight-cluster toevoegen aan een virtueel netwerk.
  • Het VNET en het cluster dat wordt gemaakt, moeten zich in hetzelfde abonnement bevinden.
  1. Gebruikt u een klassiek of Resource Manager-implementatiemodel voor het virtuele netwerk?

    HDInsight 3.4 en hoger vereist een virtueel Resource Manager-netwerk. Eerdere versies van HDInsight vereist een klassiek virtueel netwerk.

    Als uw bestaande netwerk een klassiek virtueel netwerk is, moet u een virtueel Resource Manager-netwerk maken en vervolgens de twee verbinden. Klassieke VNets verbinden met nieuwe VNets.

    Na deelname kan HDInsight die is geïnstalleerd in het Resource Manager-netwerk communiceren met resources in het klassieke netwerk.

  2. Gebruikt u netwerkbeveiligingsgroepen, door de gebruiker gedefinieerde routes of virtuele netwerkapparaten om verkeer naar of uit het virtuele netwerk te beperken?

    Als beheerde service vereist HDInsight onbeperkte toegang tot verschillende IP-adressen in het Azure-datacenter. Als u communicatie met deze IP-adressen wilt toestaan, moet u alle bestaande netwerkbeveiligingsgroepen of door de gebruiker gedefinieerde routes bijwerken.

    HDInsight host meerdere services, die gebruikmaken van verschillende poorten. Blokkeer het verkeer naar deze poorten niet. Zie de sectie Beveiliging voor een lijst met poorten die via firewalls voor virtuele apparaten kunnen worden toegestaan.

    Gebruik de volgende Azure PowerShell- of Azure CLI-opdrachten om uw bestaande beveiligingsconfiguratie te vinden:

    • Netwerkbeveiligingsgroepen

      Vervang RESOURCEGROUP door de naam van de resourcegroep die het virtuele netwerk bevat en voer vervolgens de opdracht in:

      Get-AzNetworkSecurityGroup -ResourceGroupName  "RESOURCEGROUP"
      
      az network nsg list --resource-group RESOURCEGROUP
      

      Zie het document Problemen met netwerkbeveiligingsgroepen oplossen voor meer informatie.

      Belangrijk

      Regels voor netwerkbeveiligingsgroepen worden op volgorde toegepast op basis van regelprioriteit. De eerste regel die overeenkomt met het verkeerspatroon wordt toegepast en er worden geen andere regels toegepast voor dat verkeer. Orderegels van de meeste permissieve tot minst permissieve. Zie het document Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie.

    • Door de gebruiker gedefinieerde routes

      Vervang RESOURCEGROUP door de naam van de resourcegroep die het virtuele netwerk bevat en voer vervolgens de opdracht in:

      Get-AzRouteTable -ResourceGroupName "RESOURCEGROUP"
      
      az network route-table list --resource-group RESOURCEGROUP
      

      Zie het document Probleem met routering van virtuele machines vaststellen voor meer informatie.

  3. Maak een HDInsight-cluster en selecteer het virtuele Azure-netwerk tijdens de configuratie. Gebruik de stappen in de volgende documenten om inzicht te hebben in het proces voor het maken van het cluster:

    Belangrijk

    Het toevoegen van HDInsight aan een virtueel netwerk is een optionele configuratiestap. Zorg ervoor dat u het virtuele netwerk selecteert bij het configureren van het cluster.

Meerdere netwerken verbinden

De grootste uitdaging met een configuratie met meerdere netwerken is naamomzetting tussen de netwerken.

Azure biedt naamomzetting voor Azure-services die zijn geïnstalleerd in een virtueel netwerk. Met deze ingebouwde naamomzetting kan HDInsight verbinding maken met de volgende resources met behulp van een FQDN (Fully Qualified Domain Name):

  • Elke resource die beschikbaar is op internet. Bijvoorbeeld microsoft.com, windowsupdate.com.

  • Elke resource die zich in hetzelfde Virtuele Azure-netwerk bevindt, met behulp van de interne DNS-naam van de resource. Wanneer u bijvoorbeeld de standaardnaamomzetting gebruikt, zijn de volgende voorbeelden van interne DNS-namen die zijn toegewezen aan HDInsight-werkknooppunten:

    • <workername1.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net>

    • <workername2.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net>

      Beide knooppunten kunnen rechtstreeks met elkaar en andere knooppunten in HDInsight communiceren met behulp van interne DNS-namen.

Met de standaardnaamomzetting kan HDInsight de namen van resources in netwerken die zijn gekoppeld aan het virtuele netwerk, niet omzetten. Het is bijvoorbeeld gebruikelijk om uw on-premises netwerk aan het virtuele netwerk toe te voegen. Met alleen de standaardnaamomzetting heeft HDInsight geen toegang tot resources in het on-premises netwerk op naam. Het tegenovergestelde is ook waar, resources in uw on-premises netwerk hebben geen toegang tot resources in het virtuele netwerk op naam.

Waarschuwing

U moet de aangepaste DNS-server maken en het virtuele netwerk configureren om het te gebruiken voordat u het HDInsight-cluster maakt.

Als u naamomzetting tussen het virtuele netwerk en de resources in gekoppelde netwerken wilt inschakelen, moet u de volgende acties uitvoeren:

  1. Maak een aangepaste DNS-server in het virtuele Azure-netwerk waar u HDInsight wilt installeren.

  2. Configureer het virtuele netwerk voor het gebruik van de aangepaste DNS-server.

  3. Zoek het door Azure toegewezen DNS-achtervoegsel voor uw virtuele netwerk. Deze waarde is vergelijkbaar met 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net. Zie het voorbeeld: aangepaste DNS-sectie voor meer informatie over het vinden van het DNS-achtervoegsel .

  4. Configureer doorsturen tussen de DNS-servers. De configuratie is afhankelijk van het type extern netwerk.

    • Als het externe netwerk een on-premises netwerk is, configureert u DNS als volgt:

      • Aangepaste DNS (in het virtuele netwerk):

        • Aanvragen voor het DNS-achtervoegsel van het virtuele netwerk doorsturen naar de recursieve resolver van Azure (168.63.129.16). Azure verwerkt aanvragen voor resources in het virtuele netwerk

        • Alle andere aanvragen doorsturen naar de on-premises DNS-server. De on-premises DNS verwerkt alle andere aanvragen voor naamomzetting, zelfs aanvragen voor internetbronnen zoals Microsoft.com.

      • On-premises DNS: aanvragen voor het DNS-achtervoegsel van het virtuele netwerk doorsturen naar de aangepaste DNS-server. De aangepaste DNS-server stuurt vervolgens door naar de recursieve resolver van Azure.

        Met deze configuratie worden aanvragen gerouteerd voor volledig gekwalificeerde domeinnamen die het DNS-achtervoegsel van het virtuele netwerk bevatten naar de aangepaste DNS-server. Alle andere aanvragen (zelfs voor openbare internetadressen) worden verwerkt door de on-premises DNS-server.

    • Als het externe netwerk een ander virtueel Azure-netwerk is, configureert u DNS als volgt:

      • Aangepaste DNS (in elk virtueel netwerk):

        • Aanvragen voor het DNS-achtervoegsel van de virtuele netwerken worden doorgestuurd naar de aangepaste DNS-servers. De DNS in elk virtueel netwerk is verantwoordelijk voor het omzetten van resources binnen het netwerk.

        • Alle andere aanvragen doorsturen naar de recursieve resolver van Azure. De recursieve resolver is verantwoordelijk voor het oplossen van lokale en internetbronnen.

        De DNS-server voor elk netwerk stuurt aanvragen door naar het andere, op basis van DNS-achtervoegsel. Andere aanvragen worden opgelost met behulp van de recursieve resolver van Azure.

      Zie het voorbeeld: Aangepaste DNS-sectie voor een voorbeeld van elke configuratie.

Zie het document Naamomzetting voor VM's en rolinstanties voor meer informatie.

Rechtstreeks verbinding maken met Apache Hadoop-services

U kunt verbinding maken met het cluster op https://CLUSTERNAME.azurehdinsight.net. Dit adres maakt gebruik van een openbaar IP-adres, dat mogelijk niet bereikbaar is als u NSG's hebt gebruikt om binnenkomend verkeer van internet te beperken. Als u het cluster in een virtueel netwerk implementeert, hebt u er bovendien toegang toe via het privé-eindpunt https://CLUSTERNAME-int.azurehdinsight.net. Dit eindpunt wordt omgezet in een privé-IP in het virtuele netwerk voor clustertoegang.

Gebruik de volgende stappen om verbinding te maken met Apache Ambari en andere webpagina's via het virtuele netwerk:

  1. Als u de interne FQDN(Fully Qualified Domain Names) van de HDInsight-clusterknooppunten wilt detecteren, gebruikt u een van de volgende methoden:

    Vervang RESOURCEGROUP door de naam van de resourcegroep die het virtuele netwerk bevat en voer vervolgens de opdracht in:

    $clusterNICs = Get-AzNetworkInterface -ResourceGroupName "RESOURCEGROUP" | where-object {$_.Name -like "*node*"}
    
    $nodes = @()
    foreach($nic in $clusterNICs) {
        $node = new-object System.Object
        $node | add-member -MemberType NoteProperty -name "Type" -value $nic.Name.Split('-')[1]
        $node | add-member -MemberType NoteProperty -name "InternalIP" -value $nic.IpConfigurations.PrivateIpAddress
        $node | add-member -MemberType NoteProperty -name "InternalFQDN" -value $nic.DnsSettings.InternalFqdn
        $nodes += $node
    }
    $nodes | sort-object Type
    
    az network nic list --resource-group RESOURCEGROUP --output table --query "[?contains(name, 'node')].{NICname:name,InternalIP:ipConfigurations[0].privateIpAddress,InternalFQDN:dnsSettings.internalFqdn}"
    

    Zoek in de lijst met geretourneerde knooppunten de FQDN voor de hoofdknooppunten en gebruik de FQDN's om verbinding te maken met Ambari en andere webservices. Gebruik bijvoorbeeld http://<headnode-fqdn>:8080 om toegang te krijgen tot Ambari.

    Belangrijk

    Sommige services die op de hoofdknooppunten worden gehost, zijn slechts actief op één knooppunt tegelijk. Als u toegang probeert te krijgen tot een service op het ene hoofdknooppunt en er een 404-fout wordt geretourneerd, schakelt u over naar het andere hoofdknooppunt.

  2. Als u het knooppunt en de poort wilt bepalen waarop een service beschikbaar is, raadpleegt u de poorten die worden gebruikt door Hadoop-services in HDInsight-document .

Load balancing

Wanneer u een HDInsight-cluster maakt, worden er ook verschillende load balancers gemaakt. Vanwege de buitengebruikstelling van de basic load balancer is het type load balancers op het standaard-SKU-niveau, dat bepaalde beperkingen heeft. Binnenkomende stromen naar de standaard load balancers worden gesloten, tenzij dit is toegestaan door een netwerkbeveiligingsgroep. Mogelijk moet u een netwerkbeveiliging aan uw subnet koppelen en de netwerkbeveiligingsregels configureren.

Er zijn verschillende uitgaande connectiviteitsmethoden ingeschakeld voor de standaard load balancer. Het is de moeite waard om te vermelden dat de standaard uitgaande toegang binnenkort buiten gebruik wordt gesteld. Als een NAT-gateway wordt gebruikt om uitgaande netwerktoegang te bieden, is het subnet niet geschikt voor de basic load balancer. Als u een NAT-gateway wilt koppelen aan een subnet, moet er geen eenvoudige load balancer aanwezig zijn in dit subnet. Met de NAT-gateway als de uitgaande toegangsmethode kan een nieuw gemaakt HDInsight-cluster niet hetzelfde subnet delen met eerder gemaakte HDInsight-clusters met eenvoudige load balancers.

Een andere beperking is dat de HDInsight-load balancers niet mogen worden verwijderd of gewijzigd. Wijzigingen in de load balancer-regels worden overschreven tijdens bepaalde onderhoudsgebeurtenissen, zoals certificaatvernieuwingen. Als de load balancers worden gewijzigd en dit van invloed is op de clusterfunctionaliteit, moet u het cluster mogelijk opnieuw maken.

Volgende stappen