Planera ett virtuellt nätverk för Azure HDInsight

Den här artikeln innehåller bakgrundsinformation om hur du använder virtuella Azure-nätverk (VNet) med Azure HDInsight. Den beskriver också design- och implementeringsbeslut som måste fattas innan du kan implementera ett virtuellt nätverk för ditt HDInsight-kluster. När planeringsfasen är klar kan du fortsätta till Skapa virtuella nätverk för Azure HDInsight-kluster. Mer information om IP-adresser för HDInsight-hantering som behövs för att konfigurera nätverkssäkerhetsgrupper (NSG:er) och användardefinierade vägar finns i IP-adresser för HDInsight-hantering.

Användning av en Azure-Virtual Network möjliggör följande scenarier:

  • Ansluta till HDInsight direkt från ett lokalt nätverk.
  • Ansluta HDInsight till datalager i ett virtuellt Azure-nätverk.
  • Direktåtkomst till Apache Hadoop-tjänster som inte är tillgängliga offentligt via Internet. Till exempel Apache Kafka-API:er eller Apache HBase Java API.

Viktigt

Om du skapar ett HDInsight-kluster i ett virtuellt nätverk skapas flera nätverksresurser, till exempel nätverkskort och lastbalanserare. Ta inte bort eller ändra dessa nätverksresurser eftersom de behövs för att klustret ska fungera korrekt med det virtuella nätverket.

Planering

Följande är de frågor som du måste besvara när du planerar att installera HDInsight i ett virtuellt nätverk:

  • Behöver du installera HDInsight i ett befintligt virtuellt nätverk? Eller skapar du ett nytt nätverk?

    Om du använder ett befintligt virtuellt nätverk kan du behöva ändra nätverkskonfigurationen innan du kan installera HDInsight. Mer information finns i avsnittet lägga till HDInsight i ett befintligt virtuellt nätverk .

  • Vill du ansluta det virtuella nätverket som innehåller HDInsight till ett annat virtuellt nätverk eller ditt lokala nätverk?

    För att enkelt kunna arbeta med resurser mellan nätverk kan du behöva skapa en anpassad DNS och konfigurera DNS-vidarebefordran. Mer information finns i avsnittet ansluta flera nätverk .

  • Vill du begränsa/omdirigera inkommande eller utgående trafik till HDInsight?

    HDInsight måste ha obegränsad kommunikation med specifika IP-adresser i Azure-datacentret. Det finns också flera portar som måste tillåtas via brandväggar för klientkommunikation. Mer information finns i Kontrollera nätverkstrafik.

Lägga till HDInsight i ett befintligt virtuellt nätverk

Följ stegen i det här avsnittet för att se hur du lägger till en ny HDInsight i en befintlig Azure-Virtual Network.

Anteckning

  • Du kan inte lägga till ett befintligt HDInsight-kluster i ett virtuellt nätverk.
  • Det virtuella nätverket och klustret som skapas måste finnas i samma prenumeration.
  1. Använder du en klassisk eller Resource Manager distributionsmodell för det virtuella nätverket?

    HDInsight 3.4 och senare kräver ett Resource Manager virtuellt nätverk. Tidigare versioner av HDInsight krävde ett klassiskt virtuellt nätverk.

    Om ditt befintliga nätverk är ett klassiskt virtuellt nätverk måste du skapa ett Resource Manager virtuellt nätverk och sedan ansluta de två. Ansluta klassiska virtuella nätverk till nya virtuella nätverk.

    När HDInsight är installerat i Resource Manager nätverk kan det interagera med resurser i det klassiska nätverket.

  2. Använder du nätverkssäkerhetsgrupper, användardefinierade vägar eller Virtual Network Apparater för att begränsa trafik till eller från det virtuella nätverket?

    Som en hanterad tjänst kräver HDInsight obegränsad åtkomst till flera IP-adresser i Azure-datacentret. Om du vill tillåta kommunikation med dessa IP-adresser uppdaterar du alla befintliga nätverkssäkerhetsgrupper eller användardefinierade vägar.

    HDInsight är värd för flera tjänster som använder en mängd olika portar. Blockera inte trafik till dessa portar. En lista över portar som tillåts via brandväggar för virtuella installationer finns i avsnittet Säkerhet.

    Använd följande Azure PowerShell- eller Azure CLI-kommandon för att hitta din befintliga säkerhetskonfiguration:

    • Nätverkssäkerhetsgrupper

      Ersätt RESOURCEGROUP med namnet på resursgruppen som innehåller det virtuella nätverket och ange sedan kommandot:

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

      Mer information finns i dokumentet Felsöka nätverkssäkerhetsgrupper .

      Viktigt

      Regler för nätverkssäkerhetsgrupper tillämpas i ordning baserat på regelprioritet. Den första regeln som matchar trafikmönstret tillämpas och inga andra tillämpas för den trafiken. Orderregler från mest tillåtande till minst tillåtande. Mer information finns i dokumentet Filtrera nätverkstrafik med nätverkssäkerhetsgrupper .

    • Användardefinierade vägar

      Ersätt RESOURCEGROUP med namnet på resursgruppen som innehåller det virtuella nätverket och ange sedan kommandot:

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

      Mer information finns i dokumentet Felsöka vägar .

  3. Skapa ett HDInsight-kluster och välj Azure-Virtual Network under konfigurationen. Använd stegen i följande dokument för att förstå processen för att skapa kluster:

    Viktigt

    Att lägga till HDInsight i ett virtuellt nätverk är ett valfritt konfigurationssteg. Se till att välja det virtuella nätverket när du konfigurerar klustret.

Ansluta flera nätverk

Den största utmaningen med en konfiguration för flera nätverk är namnmatchning mellan nätverken.

Azure tillhandahåller namnmatchning för Azure-tjänster som är installerade i ett virtuellt nätverk. Med den här inbyggda namnmatchningen kan HDInsight ansluta till följande resurser med hjälp av ett fullständigt kvalificerat domännamn (FQDN):

  • Alla resurser som är tillgängliga på Internet. Till exempel microsoft.com windowsupdate.com.

  • Alla resurser som finns i samma Azure-Virtual Network med hjälp av resursens interna DNS-namn. När du till exempel använder standardnamnmatchningen är följande exempel på interna DNS-namn som tilldelats TILL HDInsight-arbetsnoder:

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

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

      Båda dessa noder kan kommunicera direkt med varandra och andra noder i HDInsight med hjälp av interna DNS-namn.

Standardnamnmatchningen tillåter inte att HDInsight matchar namnen på resurser i nätverk som är anslutna till det virtuella nätverket. Det är till exempel vanligt att ansluta ditt lokala nätverk till det virtuella nätverket. Med endast standardnamnmatchningen kan HDInsight inte komma åt resurser i det lokala nätverket efter namn. Det motsatta är också att resurser i ditt lokala nätverk inte kan komma åt resurser i det virtuella nätverket efter namn.

Varning

Du måste skapa den anpassade DNS-servern och konfigurera det virtuella nätverket så att det använder den innan du skapar HDInsight-klustret.

Om du vill aktivera namnmatchning mellan det virtuella nätverket och resurser i anslutna nätverk måste du utföra följande åtgärder:

  1. Skapa en anpassad DNS-server i Azure Virtual Network där du planerar att installera HDInsight.

  2. Konfigurera det virtuella nätverket så att det använder den anpassade DNS-servern.

  3. Leta upp det Azure-tilldelade DNS-suffixet för ditt virtuella nätverk. Det här värdet liknar 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net. Information om hur du hittar DNS-suffixet finns i avsnittet Exempel: Anpassad DNS .

  4. Konfigurera vidarebefordran mellan DNS-servrarna. Konfigurationen beror på typen av fjärrnätverk.

    • Om fjärrnätverket är ett lokalt nätverk konfigurerar du DNS på följande sätt:

      • Anpassad DNS (i det virtuella nätverket):

        • Vidarebefordra begäranden om DNS-suffixet för det virtuella nätverket till den rekursiva Matcharen för Azure (168.63.129.16). Azure hanterar begäranden om resurser i det virtuella nätverket

        • Vidarebefordra alla andra begäranden till den lokala DNS-servern. Den lokala DNS:en hanterar alla andra namnmatchningsbegäranden, även begäranden för Internetresurser som Microsoft.com.

      • Lokal DNS: Vidarebefordra begäranden för det virtuella nätverkets DNS-suffix till den anpassade DNS-servern. Den anpassade DNS-servern vidarebefordras sedan till den rekursiva Matcharen i Azure.

        Den här konfigurationen dirigerar begäranden om fullständigt kvalificerade domännamn som innehåller DNS-suffixet för det virtuella nätverket till den anpassade DNS-servern. Alla andra begäranden (även för offentliga Internetadresser) hanteras av den lokala DNS-servern.

    • Om fjärrnätverket är en annan Azure-Virtual Network konfigurerar du DNS på följande sätt:

      • Anpassad DNS (i varje virtuellt nätverk):

        • Begäranden om DNS-suffixet för de virtuella nätverken vidarebefordras till de anpassade DNS-servrarna. DNS i varje virtuellt nätverk ansvarar för att lösa resurser i nätverket.

        • Vidarebefordra alla andra begäranden till den rekursiva Azure-matcharen. Den rekursiva lösaren ansvarar för att lösa lokala resurser och Internetresurser.

        DNS-servern för varje nätverk vidarebefordrar begäranden till den andra, baserat på DNS-suffix. Andra begäranden löses med hjälp av rekursiv lösning i Azure.

      Ett exempel på varje konfiguration finns i avsnittet Exempel: Anpassad DNS .

Mer information finns i dokumentet Namnmatchning för virtuella datorer och rollinstanser .

Ansluta direkt till Apache Hadoop-tjänster

Du kan ansluta till klustret på https://CLUSTERNAME.azurehdinsight.net. Den här adressen använder en offentlig IP-adress som kanske inte kan nås om du har använt NSG:er för att begränsa inkommande trafik från Internet. När du distribuerar klustret i ett virtuellt nätverk kan du dessutom komma åt det med hjälp av den privata slutpunkten https://CLUSTERNAME-int.azurehdinsight.net. Den här slutpunkten matchar en privat IP-adress i det virtuella nätverket för klusteråtkomst.

Använd följande steg för att ansluta till Apache Ambari och andra webbsidor via det virtuella nätverket:

  1. Om du vill identifiera de interna fullständigt kvalificerade domännamnen (FQDN) för HDInsight-klusternoderna använder du någon av följande metoder:

    Ersätt RESOURCEGROUP med namnet på resursgruppen som innehåller det virtuella nätverket och ange sedan kommandot:

    $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}"
    

    I listan över noder som returneras letar du reda på FQDN för huvudnoderna och använder FQDN för att ansluta till Ambari och andra webbtjänster. Använd till exempel http://<headnode-fqdn>:8080 för att komma åt Ambari.

    Viktigt

    Vissa tjänster som finns på huvudnoderna är bara aktiva på en nod i taget. Om du försöker komma åt en tjänst på en huvudnod och returnerar ett 404-fel växlar du till den andra huvudnoden.

  2. Information om vilken nod och port som en tjänst är tillgänglig på finns i dokumentet Portar som används av Hadoop-tjänster i HDInsight .

Belastningsutjämning

När du skapar ett HDInsight-kluster skapas även en lastbalanserare. Typen av lastbalanserare är på den grundläggande SKU-nivån, som har vissa begränsningar. En av dessa begränsningar är att om du har två virtuella nätverk i olika regioner kan du inte ansluta till grundläggande lastbalanserare. Mer information finns i vanliga frågor och svar om virtuella nätverk: begränsningar för global vnet-peering.

En annan begränsning är att HDInsight-lastbalanserarna inte ska tas bort eller ändras. Ändringar av lastbalanseringsreglerna skrivs över under vissa underhållshändelser, till exempel certifikatförnyelser. Om lastbalanserarna ändras och det påverkar klusterfunktionerna kan du behöva återskapa klustret.

Nästa steg