Plánování virtuální sítě pro Azure HDInsightPlan a virtual network for Azure HDInsight

Tento článek poskytuje základní informace o používání Azure Virtual Networks (virtuální sítě) se službou Azure HDInsight.This article provides background information on using Azure Virtual Networks (VNets) with Azure HDInsight. Popisuje také rozhodnutí o návrhu a implementaci, která je nutné provést předtím, než budete moci implementovat virtuální síť pro cluster HDInsight.It also discusses design and implementation decisions that must be made before you can implement a virtual network for your HDInsight cluster. Po dokončení fáze plánování můžete pokračovat v vytváření virtuálních sítí pro clustery Azure HDInsight.Once the planning phase is finished, you can proceed to Create virtual networks for Azure HDInsight clusters. Další informace o IP adresách pro správu HDInsight, které jsou potřeba ke správné konfiguraci skupin zabezpečení sítě (skupin zabezpečení sítě) a uživatelem definovaných tras, najdete v článku IP adresy správy HDInsight.For more information on HDInsight management IP addresses that are needed to properly configure network security groups (NSGs) and user-defined routes, see HDInsight management IP addresses.

Použití Azure Virtual Network umožňuje následující scénáře:Using an Azure Virtual Network enables the following scenarios:

  • Připojení ke službě HDInsight přímo z místní sítě.Connecting to HDInsight directly from an on-premises network.
  • Připojení HDInsight k úložištím dat ve službě Azure Virtual Network.Connecting HDInsight to data stores in an Azure Virtual network.
  • Přímý přístup k Apache Hadoop službám, které nejsou veřejně dostupné po internetu.Directly accessing Apache Hadoop services that aren't available publicly over the internet. Například Apache Kafka rozhraní API nebo rozhraní Apache HBA Java API.For example, Apache Kafka APIs or the Apache HBase Java API.

Důležité

Při vytváření clusteru HDInsight ve virtuální síti se vytvoří několik síťových prostředků, jako jsou síťové karty a nástroje pro vyrovnávání zatížení.Creating an HDInsight cluster in a VNET will create several networking resources, such as NICs and load balancers. Tyto síťové prostředky neodstraňujte , protože jsou potřeba pro správné fungování clusteru s virtuální sítí.Do not delete these networking resources, as they are needed for your cluster to function correctly with the VNET.

Po 28. února 2019 budou síťové prostředky (například síťové karty, libry atd.) pro nové clustery HDInsight vytvořené ve virtuální síti zřízené ve stejné skupině prostředků clusteru HDInsight.After Feb 28, 2019, the networking resources (such as NICs, LBs, etc) for NEW HDInsight clusters created in a VNET will be provisioned in the same HDInsight cluster resource group. Dříve byly tyto prostředky zřízeny ve skupině prostředků VNET.Previously, these resources were provisioned in the VNET resource group. Nedošlo k žádným změnám aktuálně spuštěných clusterů a clusterů vytvořených bez virtuální sítě.There is no change to the current running clusters and those clusters created without a VNET.

PlánováníPlanning

V následující části najdete otázky, které je potřeba zodpovědět při plánování instalace HDInsight ve virtuální síti:The following are the questions that you must answer when planning to install HDInsight in a virtual network:

  • Potřebujete nainstalovat HDInsight do existující virtuální sítě?Do you need to install HDInsight into an existing virtual network? Nebo vytváříte novou síť?Or are you creating a new network?

    Pokud používáte existující virtuální síť, možná budete muset před instalací HDInsight změnit konfiguraci sítě.If you're using an existing virtual network, you may need to modify the network configuration before you can install HDInsight. Další informace najdete v části Přidání HDInsight do existující virtuální sítě .For more information, see the add HDInsight to an existing virtual network section.

  • Chcete připojit virtuální síť obsahující HDInsight k jiné virtuální síti nebo místní síti?Do you want to connect the virtual network containing HDInsight to another virtual network or your on-premises network?

    Abyste mohli snadno pracovat s prostředky napříč sítěmi, možná budete muset vytvořit vlastní DNS a nakonfigurovat předávání DNS.To easily work with resources across networks, you may need to create a custom DNS and configure DNS forwarding. Další informace najdete v části připojení více sítí .For more information, see the connecting multiple networks section.

  • Chcete omezit nebo přesměrovat příchozí nebo odchozí provoz do HDInsight?Do you want to restrict/redirect inbound or outbound traffic to HDInsight?

    HDInsight musí mít neomezenou komunikaci s konkrétními IP adresami v datovém centru Azure.HDInsight must have unrestricted communication with specific IP addresses in the Azure data center. K dispozici je také několik portů, které musí být povoleny prostřednictvím brány firewall pro komunikaci s klienty.There are also several ports that must be allowed through firewalls for client communication. Další informace najdete v tématu řízení síťového provozu.For more information, see Control network traffic.

Přidání HDInsight do existující virtuální sítěAdd HDInsight to an existing virtual network

Pomocí kroků v této části zjistíte, jak přidat novou službu HDInsight do existující Virtual Network Azure.Use the steps in this section to discover how to add a new HDInsight to an existing Azure Virtual Network.

Poznámka

Existující cluster HDInsight nemůžete přidat do virtuální sítě.You cannot add an existing HDInsight cluster into a virtual network.

  1. Používáte pro virtuální síť model nasazení Classic nebo Správce prostředků?Are you using a classic or Resource Manager deployment model for the virtual network?

    HDInsight 3,4 a vyšší vyžaduje Správce prostředků virtuální síť.HDInsight 3.4 and greater requires a Resource Manager virtual network. Starší verze HDInsight vyžadovaly klasickou virtuální síť.Earlier versions of HDInsight required a classic virtual network.

    Pokud je vaše stávající síť klasickou virtuální sítí, musíte vytvořit Správce prostředků virtuální síť a pak tyto dvě připojit.If your existing network is a classic virtual network, then you must create a Resource Manager virtual network and then connect the two. Připojení klasického virtuální sítě k novému virtuální sítě.Connecting classic VNets to new VNets.

    Po připojení může HDInsight nainstalovaná v Správce prostředků síti pracovat s prostředky v klasické síti.Once joined, HDInsight installed in the Resource Manager network can interact with resources in the classic network.

  2. Používáte skupiny zabezpečení sítě, trasy definované uživatelem nebo zařízení Virtual Network pro omezení provozu do nebo z virtuální sítě?Do you use network security groups, user-defined routes, or Virtual Network Appliances to restrict traffic into or out of the virtual network?

    Jako spravovaná služba HDInsight vyžaduje neomezený přístup k několika IP adresám v datovém centru Azure.As a managed service, HDInsight requires unrestricted access to several IP addresses in the Azure data center. Pokud chcete komunikaci s těmito IP adresami dovolit, aktualizujte všechny existující skupiny zabezpečení sítě nebo trasy definované uživatelem.To allow communication with these IP addresses, update any existing network security groups or user-defined routes.

    Služba HDInsight hostuje několik služeb, které používají různé porty.HDInsight hosts multiple services, which use a variety of ports. Neblokujte provoz na tyto porty.Don't block traffic to these ports. Seznam portů, které mají být povoleny prostřednictvím bran firewall pro virtuální zařízení, naleznete v části zabezpečení.For a list of ports to allow through virtual appliance firewalls, see the Security section.

    Pokud chcete najít stávající konfiguraci zabezpečení, použijte následující Azure PowerShell nebo příkazy rozhraní příkazového řádku Azure CLI:To find your existing security configuration, use the following Azure PowerShell or Azure CLI commands:

    • Skupiny zabezpečení sítěNetwork security groups

      Nahraďte RESOURCEGROUP názvem skupiny prostředků, která obsahuje virtuální síť, a pak zadejte příkaz:Replace RESOURCEGROUP with the name of the resource group that contains the virtual network, and then enter the command:

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

      Další informace najdete v dokumentu Poradce při potížích se skupinami zabezpečení sítě .For more information, see the Troubleshoot network security groups document.

      Důležité

      Pravidla skupiny zabezpečení sítě se aplikují v pořadí podle priority pravidla.Network security group rules are applied in order based on rule priority. Použije se první pravidlo, které odpovídá vzoru provozu, a pro tento provoz se neuplatní žádné další.The first rule that matches the traffic pattern is applied, and no others are applied for that traffic. Seřazení pravidel z nejvyšší moci až po nejméně povolující.Order rules from most permissive to least permissive. Další informace najdete v dokumentu filtrování provozu sítě s použitím skupin zabezpečení sítě .For more information, see the Filter network traffic with network security groups document.

    • Trasy definované uživatelemUser-defined routes

      Nahraďte RESOURCEGROUP názvem skupiny prostředků, která obsahuje virtuální síť, a pak zadejte příkaz:Replace RESOURCEGROUP with the name of the resource group that contains the virtual network, and then enter the command:

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

      Další informace najdete v dokumentu věnovaném řešení potíží s trasami .For more information, see the Troubleshoot routes document.

  3. Vytvořte cluster HDInsight a během konfigurace vyberte Azure Virtual Network.Create an HDInsight cluster and select the Azure Virtual Network during configuration. Pro pochopení procesu vytváření clusteru použijte postup v následujících dokumentech:Use the steps in the following documents to understand the cluster creation process:

    Důležité

    Přidání služby HDInsight do virtuální sítě je volitelný krok konfigurace.Adding HDInsight to a virtual network is an optional configuration step. Nezapomeňte při konfiguraci clusteru vybrat virtuální síť.Be sure to select the virtual network when configuring the cluster.

Připojení více sítíConnecting multiple networks

Největší výzvou s konfigurací více sítí je překlad názvů mezi sítěmi.The biggest challenge with a multi-network configuration is name resolution between the networks.

Azure poskytuje překlad adres IP pro služby Azure, které jsou nainstalované ve virtuální síti.Azure provides name resolution for Azure services that are installed in a virtual network. Toto integrované překlad IP adres umožňuje službě HDInsight připojit se k následujícím prostředkům pomocí plně kvalifikovaného názvu domény (FQDN):This built-in name resolution allows HDInsight to connect to the following resources by using a fully qualified domain name (FQDN):

  • Libovolný prostředek, který je k dispozici na internetu.Any resource that is available on the internet. Například microsoft.com, windowsupdate.com.For example, microsoft.com, windowsupdate.com.

  • Libovolný prostředek, který je ve stejném Virtual Network Azure, pomocí interního názvu DNS daného prostředku.Any resource that is in the same Azure Virtual Network, by using the internal DNS name of the resource. Například při použití výchozího překladu názvů jsou zde uvedeny příklady interních názvů DNS přiřazených k pracovním uzlům HDInsight:For example, when using the default name resolution, the following are examples of internal DNS names assigned to HDInsight worker nodes:

    • wn0-hdinsi.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.netwn0-hdinsi.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net

    • wn2-hdinsi.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.netwn2-hdinsi.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net

      Oba tyto uzly můžou komunikovat přímo mezi sebou a dalšími uzly v HDInsight pomocí interních názvů DNS.Both these nodes can communicate directly with each other, and other nodes in HDInsight, by using internal DNS names.

Výchozí rozlišení názvů neumožňuje službě HDInsight přeložit názvy prostředků v sítích, které jsou připojené k virtuální síti.The default name resolution does not allow HDInsight to resolve the names of resources in networks that are joined to the virtual network. Například je běžné připojení k místní síti k virtuální síti.For example, it's common to join your on-premises network to the virtual network. Služba HDInsight nemůže získat přístup k prostředkům v místní síti pouze s výchozím překladem IP adres podle názvu.With only the default name resolution, HDInsight can't access resources in the on-premises network by name. Opak je také true, prostředky v místní síti nemůžou přistupovat k prostředkům ve virtuální síti podle názvu.The opposite is also true, resources in your on-premises network can't access resources in the virtual network by name.

Upozornění

Před vytvořením clusteru HDInsight musíte vytvořit vlastní server DNS a nakonfigurovat virtuální síť tak, aby se používala.You must create the custom DNS server and configure the virtual network to use it before creating the HDInsight cluster.

Chcete-li povolit překlad názvů mezi virtuální sítí a prostředky v připojených sítích, je nutné provést následující akce:To enable name resolution between the virtual network and resources in joined networks, you must perform the following actions:

  1. Vytvořte si vlastní server DNS v Azure Virtual Network, kde plánujete nainstalovat HDInsight.Create a custom DNS server in the Azure Virtual Network where you plan to install HDInsight.

  2. Nakonfigurujte virtuální síť tak, aby používala vlastní server DNS.Configure the virtual network to use the custom DNS server.

  3. Najděte příponu DNS přiřazenou k Azure pro vaši virtuální síť.Find the Azure assigned DNS suffix for your virtual network. Tato hodnota je podobná 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net .This value is similar to 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net. Informace o vyhledání přípony DNS najdete v části Příklad: vlastní DNS .For information on finding the DNS suffix, see the Example: Custom DNS section.

  4. Nakonfigurujte přesměrování mezi servery DNS.Configure forwarding between the DNS servers. Konfigurace závisí na typu vzdálené sítě.The configuration depends on the type of remote network.

    • Pokud je vzdálená síť místní sítí, nakonfigurujte DNS následujícím způsobem:If the remote network is an on-premises network, configure DNS as follows:

      • Vlastní DNS (ve virtuální síti):Custom DNS (in the virtual network):

        • Dodejte požadavky na příponu DNS virtuální sítě do rekurzivního překladače Azure (168.63.129.16).Forward requests for the DNS suffix of the virtual network to the Azure recursive resolver (168.63.129.16). Azure zpracovává požadavky na prostředky ve virtuální síti.Azure handles requests for resources in the virtual network

        • Předejte všechny ostatní požadavky na místní server DNS.Forward all other requests to the on-premises DNS server. Místní DNS zpracovává všechny další požadavky na překlad IP adres, dokonce i požadavky na internetové prostředky, jako je Microsoft.com.The on-premises DNS handles all other name resolution requests, even requests for internet resources such as Microsoft.com.

      • Místní DNS: předejte požadavky na příponu DNS virtuální sítě na vlastní server DNS.On-premises DNS: Forward requests for the virtual network DNS suffix to the custom DNS server. Vlastní server DNS se pak přepošle do rekurzivního překladače Azure.The custom DNS server then forwards to the Azure recursive resolver.

        Tato konfigurace směruje požadavky na plně kvalifikované názvy domén, které obsahují příponu DNS virtuální sítě na vlastní server DNS.This configuration routes requests for fully qualified domain names that contain the DNS suffix of the virtual network to the custom DNS server. Všechny ostatní požadavky (i u veřejných internetových adres) jsou zpracovávány místním serverem DNS.All other requests (even for public internet addresses) are handled by the on-premises DNS server.

    • Pokud je vzdálená síť jinou Virtual Network Azure, nakonfigurujte DNS následujícím způsobem:If the remote network is another Azure Virtual Network, configure DNS as follows:

      • Vlastní DNS (v každé virtuální síti):Custom DNS (in each virtual network):

        • Požadavky na příponu DNS virtuálních sítí se předávají na vlastní servery DNS.Requests for the DNS suffix of the virtual networks are forwarded to the custom DNS servers. DNS v každé virtuální síti zodpovídá za překlad prostředků v rámci své sítě.The DNS in each virtual network is responsible for resolving resources within its network.

        • Předejte všechny ostatní požadavky do rekurzivního překladače Azure.Forward all other requests to the Azure recursive resolver. Rekurzivní překladač je zodpovědný za řešení místních a internetových prostředků.The recursive resolver is responsible for resolving local and internet resources.

        Server DNS pro každou síť předávají požadavky do druhé na základě přípony DNS.The DNS server for each network forwards requests to the other, based on DNS suffix. Další požadavky jsou vyřešeny pomocí rekurzivního překladače Azure.Other requests are resolved using the Azure recursive resolver.

      Příklad každé konfigurace najdete v části Příklad: vlastní DNS .For an example of each configuration, see the Example: Custom DNS section.

Další informace najdete v dokumentu překlad názvů pro virtuální počítače a instance rolí .For more information, see the Name Resolution for VMs and Role Instances document.

Přímé připojení k Apache Hadoop službámDirectly connect to Apache Hadoop services

Ke clusteru se můžete připojit na adrese https://CLUSTERNAME.azurehdinsight.net .You can connect to the cluster at https://CLUSTERNAME.azurehdinsight.net. Tato adresa používá veřejnou IP adresu, která může být dosažitelná, pokud jste použili skupin zabezpečení sítě k omezení příchozího provozu z Internetu.This address uses a public IP, which may not be reachable if you have used NSGs to restrict incoming traffic from the internet. Navíc platí, že když nasadíte cluster ve virtuální síti, můžete k němu přistupovat pomocí privátního koncového bodu https://CLUSTERNAME-int.azurehdinsight.net .Additionally, when you deploy the cluster in a VNet you can access it using the private endpoint https://CLUSTERNAME-int.azurehdinsight.net. Tento koncový bod se překládá na privátní IP adresu uvnitř virtuální sítě pro přístup k clusteru.This endpoint resolves to a private IP inside the VNet for cluster access.

Pokud se chcete připojit k Apache Ambari a dalším webovým stránkám prostřednictvím virtuální sítě, použijte následující postup:To connect to Apache Ambari and other web pages through the virtual network, use the following steps:

  1. Pokud chcete zjistit interní plně kvalifikované názvy domény (FQDN) uzlů clusteru HDInsight, použijte jednu z následujících metod:To discover the internal fully qualified domain names (FQDN) of the HDInsight cluster nodes, use one of the following methods:

    Nahraďte RESOURCEGROUP názvem skupiny prostředků, která obsahuje virtuální síť, a pak zadejte příkaz:Replace RESOURCEGROUP with the name of the resource group that contains the virtual network, and then enter the command:

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

    V seznamu vrácených uzlů Najděte plně kvalifikovaný název domény pro hlavní uzly a pomocí plně kvalifikovaných názvů domény se připojte k Ambari a dalším webovým službám.In the list of nodes returned, find the FQDN for the head nodes and use the FQDNs to connect to Ambari and other web services. Použijte například http://<headnode-fqdn>:8080 pro přístup k Ambari.For example, use http://<headnode-fqdn>:8080 to access Ambari.

    Důležité

    Některé služby hostované v hlavních uzlech jsou aktivní jenom na jednom uzlu.Some services hosted on the head nodes are only active on one node at a time. Pokud se pokusíte o přístup ke službě na jednom hlavním uzlu a vrátí se chyba 404, přepněte na jiný hlavní uzel.If you try accessing a service on one head node and it returns a 404 error, switch to the other head node.

  2. Chcete-li určit uzel a port, na kterém je služba k dispozici, přečtěte si porty používané službou Hadoop v dokumentu HDInsight .To determine the node and port that a service is available on, see the Ports used by Hadoop services on HDInsight document.

Vyrovnávání zatíženíLoad balancing

Při vytváření clusteru HDInsight se vytvoří taky Nástroj pro vyrovnávání zatížení.When you create an HDInsight cluster, a load balancer is created as well. Typ tohoto nástroje pro vyrovnávání zatížení je na základní úrovni SKU, která má určitá omezení.The type of this load balancer is at the basic SKU level, which has certain constraints. Jedním z těchto omezení je, že pokud máte dvě virtuální sítě v různých oblastech, nemůžete se připojit k základním nástrojům pro vyrovnávání zatížení.One of these constraints is that if you have two virtual networks in different regions, you cannot connect to basic load balancers. Další informace najdete v tématu Nejčastější dotazy k virtuálním sítím VNet: omezení globálního partnerského vztahu virtuálních sítí.See virtual networks FAQ: constraints on global vnet peering, for more information.

Další krokyNext steps