Plánování virtuální sítě pro Azure HDInsight

Tento článek obsahuje základní informace o používání virtuálních sítí Azure se službou Azure HDInsight. Probírá také rozhodnutí o návrhu a implementaci, která je potřeba provést před implementací virtuální sítě pro cluster HDInsight. Po dokončení fáze plánování můžete pokračovat k tématu Vytvoření virtuálních sítí pro clustery Azure HDInsight. Další informace o IP adresách pro správu HDInsight, které jsou potřeba ke správné konfiguraci skupin zabezpečení sítě (NSG) a tras definovaných uživatelem, najdete v tématu IP adresy pro správu HDInsight.

Použití azure Virtual Network umožňuje následující scénáře:

  • Připojení ke službě HDInsight přímo z místní sítě
  • Připojení SLUŽBY HDInsight k úložišti dat ve virtuální síti Azure
  • Přímý přístup ke službám Apache Hadoop, které nejsou veřejně dostupné přes internet. Například rozhraní Apache Kafka API nebo Apache HBase Java API.

Důležité

Vytvořením 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í. Tyto síťové prostředky neodstraňovat ani neupravovat, protože jsou potřeba pro správné fungování clusteru s virtuální sítí.

Plánování

Při plánování instalace služby HDInsight ve virtuální síti musíte zodpovědět následující otázky:

  • Potřebujete hdinsight nainstalovat do existující virtuální sítě? Nebo vytváříte novou síť?

    Pokud používáte existující virtuální síť, možná budete muset před instalací SLUŽBY HDInsight upravit konfiguraci sítě. Další informace najdete v části Přidání služby HDInsight do existující virtuální sítě .

  • Chcete virtuální síť obsahující HDInsight připojit k jiné virtuální síti nebo místní síti?

    Abyste mohli snadno pracovat s prostředky napříč sítěmi, možná budete muset vytvořit vlastní DNS a nakonfigurovat přesměrování DNS. Další informace najdete v části připojení více sítí .

  • Chcete omezit nebo přesměrovat příchozí nebo odchozí provoz do služby HDInsight?

    HDInsight musí mít neomezenou komunikaci s konkrétními IP adresami v datacentru Azure. Existuje také několik portů, které musí být povoleny přes brány firewall pro komunikaci klientů. Další informace najdete v tématu Řízení síťového provozu.

Přidání HDInsightu do existující virtuální sítě

Pomocí kroků v této části zjistíte, jak přidat novou službu HDInsight do existujícího Virtual Network Azure.

Poznámka

  • Do virtuální sítě nemůžete přidat existující cluster HDInsight.
  • Virtuální síť a cluster, který vytváříte, musí být ve stejném předplatném.
  1. Používáte pro virtuální síť model nasazení Classic nebo Resource Manager?

    HDInsight 3.4 a novější vyžaduje Resource Manager virtuální síť. Starší verze HDInsight vyžadovaly klasickou virtuální síť.

    Pokud je vaše stávající síť klasickou virtuální sítí, musíte vytvořit Resource Manager virtuální síť a pak je propojit. Připojení klasických virtuálních sítí k novým virtuálním sítím

    Po připojení může HDInsight nainstalovaný v síti Resource Manager komunikovat s prostředky v klasické síti.

  2. Používáte skupiny zabezpečení sítě, trasy definované uživatelem nebo Virtual Network zařízení k omezení provozu do nebo z virtuální sítě?

    HdInsight jako spravovaná služba vyžaduje neomezený přístup k několika IP adresám v datacentru Azure. Pokud chcete povolit komunikaci s těmito IP adresami, aktualizujte všechny existující skupiny zabezpečení sítě nebo trasy definované uživatelem.

    HDInsight hostuje více služeb, které používají různé porty. Neblokujte provoz na tyto porty. Seznam portů, které je možné projít branami firewall virtuálních zařízení, najdete v části Zabezpečení.

    Pokud chcete najít stávající konfiguraci zabezpečení, použijte následující příkazy Azure PowerShell nebo Azure CLI:

    • Skupiny zabezpečení sítě

      Nahraďte RESOURCEGROUP názvem skupiny prostředků, která obsahuje virtuální síť, a pak zadejte příkaz:

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

      Další informace najdete v dokumentu Řešení potíží se skupinami zabezpečení sítě .

      Důležité

      Pravidla skupiny zabezpečení sítě se použijí v pořadí podle priority pravidla. Použije se první pravidlo, které odpovídá vzoru provozu, a pro tento provoz se nepoužijí žádné další. Pravidla objednávek od nejschválnějšího po nejméně nejschválnější. Další informace najdete v dokumentu Filtrování síťového provozu pomocí skupin zabezpečení sítě .

    • Trasy definované uživatelem

      Nahraďte RESOURCEGROUP názvem skupiny prostředků, která obsahuje virtuální síť, a pak zadejte příkaz:

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

      Další informace najdete v dokumentu Řešení potíží s trasami .

  3. Vytvořte cluster HDInsight a během konfigurace vyberte Virtual Network Azure. Postup v následujících dokumentech vám pomůže pochopit proces vytváření clusteru:

    Důležité

    Přidání služby HDInsight do virtuální sítě je volitelný krok konfigurace. Při konfiguraci clusteru nezapomeňte vybrat virtuální síť.

Připojení více sítí

Největší výzvou při konfiguraci s více sítěmi je překlad názvů mezi sítěmi.

Azure poskytuje překlad názvů pro služby Azure, které jsou nainstalované ve virtuální síti. Tento 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):

  • Jakýkoli prostředek, který je k dispozici na internetu. Například microsoft.com windowsupdate.com.

  • Jakýkoli prostředek, který je ve stejné Virtual Network Azure, pomocí interního názvu DNS prostředku. Například při použití výchozího překladu ip adres jsou následující příklady interních názvů DNS přiřazených pracovním uzlům HDInsight:

    • <název_pracovního_procesu1.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net>

    • <název_pracovního_procesu2.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net>

      Oba tyto uzly můžou komunikovat přímo mezi sebou a dalšími uzly ve službě HDInsight pomocí interních názvů DNS.

Výchozí překlad ip adres neumožňuje službě HDInsight překládat názvy prostředků v sítích, které jsou připojené k virtuální síti. Je například běžné připojit místní síť k virtuální síti. Při použití pouze výchozího překladu názvů nemůže HDInsight přistupovat k prostředkům v místní síti podle názvu. Opakem je také to, že prostředky ve vaší místní síti nemají přístup k prostředkům ve virtuální síti podle názvu.

Upozornění

Před vytvořením clusteru HDInsight musíte vytvořit vlastní server DNS a nakonfigurovat virtuální síť tak, aby ho používala.

Pokud chcete povolit překlad názvů mezi virtuální sítí a prostředky v připojených sítích, musíte provést následující akce:

  1. V Azure Virtual Network, kam plánujete nainstalovat HDInsight, vytvořte vlastní server DNS.

  2. Nakonfigurujte virtuální síť tak, aby používala vlastní server DNS.

  3. Vyhledejte příponu DNS přiřazenou Azure pro vaši virtuální síť. Tato hodnota je podobná hodnotě 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net. Informace o vyhledání přípony DNS najdete v části Příklad: Vlastní DNS .

  4. Nakonfigurujte předávání mezi servery DNS. Konfigurace závisí na typu vzdálené sítě.

    • Pokud je vzdálená síť místní, nakonfigurujte DNS následujícím způsobem:

      • Vlastní DNS (ve virtuální síti):

        • Požadavky na příponu DNS virtuální sítě předá rekurzivní překladač Azure (168.63.129.16). Azure zpracovává požadavky na prostředky ve virtuální síti.

        • Všechny ostatní požadavky přesměrujte na místní server DNS. Místní DNS zpracovává všechny ostatní požadavky na překlad ip adres, dokonce i požadavky na internetové prostředky, jako je Microsoft.com.

      • Místní DNS: Předá žádosti o příponu DNS virtuální sítě vlastnímu serveru DNS. Vlastní server DNS pak předá rekurzivnímu překladače Azure.

        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. Všechny ostatní požadavky (i pro veřejné internetové adresy) zpracovává místní server DNS.

    • Pokud je vzdálená síť jinou Virtual Network Azure, nakonfigurujte DNS následujícím způsobem:

      • Vlastní DNS (v každé virtuální síti):

        • Požadavky na příponu DNS virtuálních sítí se předávají na vlastní servery DNS. Dns v každé virtuální síti zodpovídá za překlad prostředků v rámci své sítě.

        • Všechny ostatní požadavky přepošli do rekurzivního překladače Azure. Rekurzivní překladač zodpovídá za řešení místních a internetových prostředků.

        Server DNS pro každou síť předává požadavky druhé na základě přípony DNS. Další požadavky se řeší pomocí rekurzivního překladače Azure.

      Příklad každé konfigurace najdete v části Příklad: Vlastní DNS .

Další informace najdete v dokumentu Překlad názvů virtuálních počítačů a instancí rolí .

Přímé připojení ke službám Apache Hadoop

Ke clusteru se můžete připojit na adrese https://CLUSTERNAME.azurehdinsight.net. Tato adresa používá veřejnou IP adresu, která nemusí být dostupná, pokud jste k omezení příchozího provozu z internetu použili skupiny zabezpečení sítě. Když navíc 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. Tento koncový bod se přeloží na privátní IP adresu uvnitř virtuální sítě pro přístup ke clusteru.

Pokud se chcete připojit k Apache Ambari a dalším webovým stránkám prostřednictvím virtuální sítě, postupujte následovně:

  1. Pokud chcete zjistit interní plně kvalifikované názvy domén (FQDN) uzlů clusteru HDInsight, použijte jednu z následujících metod:

    Nahraďte RESOURCEGROUP názvem skupiny prostředků, která obsahuje virtuální síť, a pak zadejte příkaz:

    $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ů vyhledejte plně kvalifikovaný název domény pro hlavní uzly a pomocí plně kvalifikovaných názvů domén se připojte k Ambari a dalším webovým službám. Můžete například použít http://<headnode-fqdn>:8080 pro přístup k Ambari.

    Důležité

    Některé služby hostované na hlavních uzlech jsou aktivní jenom na jednom uzlu. Pokud se pokusíte získat přístup ke službě na jednom hlavním uzlu a vrátí chybu 404, přepněte na druhý hlavní uzel.

  2. Pokud chcete určit uzel a port, na kterých je služba dostupná, projděte si dokument Porty používané službami Hadoop ve službě HDInsight .

Vyrovnávání zatížení

Při vytváření clusteru HDInsight se vytvoří také nástroj pro vyrovnávání zatížení. Typ tohoto nástroje pro vyrovnávání zatížení je na úrovni základní skladové položky, která má určitá omezení. 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í. Další informace najdete v nejčastějších dotazech k virtuálním sítím: omezení globálního partnerského vztahu virtuálních sítí.

Dalším omezením je, že nástroje pro vyrovnávání zatížení HDInsight by se neměly odstraňovat ani upravovat. Všechny změny pravidel nástroje pro vyrovnávání zatížení se přepíšou během určitých událostí údržby, jako je například prodloužení platnosti certifikátu. Pokud jsou nástroje pro vyrovnávání zatížení změněny a mají vliv na funkčnost clusteru, možná budete muset cluster znovu vytvořit.

Další kroky