Virtuális hálózat tervezése az Azure HDInsighthoz

Ez a cikk háttérinformációkat tartalmaz az Azure Virtual Networks (VNets) és az Azure HDInsight használatával kapcsolatban. Emellett tárgyalja a HDInsight-fürt virtuális hálózatának implementálása előtt meghozandó tervezési és megvalósítási döntéseket. A tervezési fázis befejezése után továbbléphet a Virtuális hálózatok létrehozása azure HDInsight-fürtökhöz című szakaszra. További információ a HDInsight felügyeleti IP-címekkel kapcsolatban, amelyek a hálózati biztonsági csoportok (NSG-k) és a felhasználó által megadott útvonalak megfelelő konfigurálásához szükségesek, lásd: HDInsight felügyeleti IP-címek.

Az Azure Virtual Network használata a következő forgatókönyveket teszi lehetővé:

  • Csatlakozás a HDInsighthoz közvetlenül egy helyszíni hálózatról.
  • A HDInsight csatlakoztatása egy Azure-beli virtuális hálózat adattáraihoz.
  • Közvetlen hozzáférés az Apache Hadoop-szolgáltatásokhoz, amelyek nem érhetők el nyilvánosan az interneten keresztül. Ilyenek például az Apache Kafka API-k vagy az Apache HBase Java API.

Fontos

Ha HDInsight-fürtöt hoz létre egy virtuális hálózaton, több hálózati erőforrást is létrehoz, például hálózati adaptereket és terheléselosztókat. Ne törölje vagy módosítsa ezeket a hálózati erőforrásokat, mert a fürtnek megfelelően kell működnie a virtuális hálózattal.

Tervezés

A HDInsight virtuális hálózaton való telepítésekor a következő kérdésekre kell válaszolnia:

  • Telepítenie kell a HDInsightot egy meglévő virtuális hálózatba? Vagy új hálózatot hoz létre?

    Ha meglévő virtuális hálózatot használ, előfordulhat, hogy módosítania kell a hálózati konfigurációt a HDInsight telepítése előtt. További információt a HDInsight hozzáadása meglévő virtuális hálózathoz című szakaszban talál.

  • Csatlakoztatja a HDInsightot tartalmazó virtuális hálózatot egy másik virtuális hálózathoz vagy a helyszíni hálózathoz?

    Az erőforrások hálózatok közötti egyszerű használatához előfordulhat, hogy létre kell hoznia egy egyéni DNS-t, és konfigurálnia kell a DNS-továbbítást. További információt a Több hálózat összekapcsolása című szakaszban talál.

  • Korlátozza/átirányítja a bejövő vagy kimenő forgalmat a HDInsightba?

    A HDInsightnak korlátlan kommunikációval kell rendelkeznie meghatározott IP-címekkel az Azure-adatközpontban. Több portot is engedélyezni kell tűzfalakon keresztül az ügyfélkommunikációhoz. További információ: Hálózati forgalom szabályozása.

HDInsight hozzáadása meglévő virtuális hálózathoz

Az ebben a szakaszban ismertetett lépésekkel megtudhatja, hogyan adhat hozzá új HDInsightot egy meglévő Azure-Virtual Network.

Megjegyzés

  • Meglévő HDInsight-fürtöt nem vehet fel virtuális hálózatba.
  • A virtuális hálózatnak és a létrehozott fürtnek ugyanabban az előfizetésben kell lennie.
  1. Klasszikus vagy Resource Manager üzembehelyezési modellt használ a virtuális hálózathoz?

    A HDInsight 3.4-s és újabb verziója Resource Manager virtuális hálózatot igényel. A HDInsight korábbi verzióihoz klasszikus virtuális hálózatra volt szükség.

    Ha a meglévő hálózat klasszikus virtuális hálózat, akkor létre kell hoznia egy Resource Manager virtuális hálózatot, majd csatlakoztatnia kell a kettőt. Klasszikus virtuális hálózatok csatlakoztatása új virtuális hálózatokhoz.

    A csatlakozás után a Resource Manager hálózatba telepített HDInsight képes a klasszikus hálózat erőforrásaival együttműködni.

  2. Hálózati biztonsági csoportokat, felhasználó által megadott útvonalakat vagy Virtual Network berendezéseket használ a virtuális hálózatba vagy onnan kimenő forgalom korlátozására?

    Felügyelt szolgáltatásként a HDInsight korlátlan hozzáférést igényel az Azure-adatközpontban található több IP-címhez. Az ip-címekkel való kommunikáció engedélyezéséhez frissítse a meglévő hálózati biztonsági csoportokat vagy felhasználó által megadott útvonalakat.

    A HDInsight több szolgáltatást üzemeltet, amelyek számos portot használnak. Ne tiltsa le a portok felé történő forgalmat. A virtuális berendezés tűzfalain keresztül engedélyezendő portok listáját a Biztonság szakaszban találja.

    A meglévő biztonsági konfiguráció megkereséséhez használja a következő Azure PowerShell vagy Azure CLI-parancsokat:

    • Network security groups (Hálózati biztonsági csoportok)

      Cserélje le RESOURCEGROUP a elemet a virtuális hálózatot tartalmazó erőforráscsoport nevére, majd írja be a következő parancsot:

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

      További információt a Hálózati biztonsági csoportok hibaelhárítása című dokumentumban talál.

      Fontos

      A hálózati biztonsági csoport szabályai szabályprioritás alapján sorrendben lesznek alkalmazva. A rendszer az első olyan szabályt alkalmazza, amely megfelel a forgalmi mintának, és a rendszer nem alkalmaz másokat az adott forgalomra. Rendezze a szabályokat a legtöbb megengedőtől a legkevésbé megengedőig. További információt a Hálózati forgalom szűrése hálózati biztonsági csoportokkal című dokumentumban talál.

    • Felhasználó által megadott útvonalak

      Cserélje le RESOURCEGROUP a elemet a virtuális hálózatot tartalmazó erőforráscsoport nevére, majd írja be a következő parancsot:

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

      További információt az Útvonalak hibaelhárítása című dokumentumban talál.

  3. Hozzon létre egy HDInsight-fürtöt, és válassza ki az Azure Virtual Network a konfiguráció során. A fürtlétrehozás folyamatának megismeréséhez kövesse az alábbi dokumentumok lépéseit:

    Fontos

    A HDInsight virtuális hálózathoz való hozzáadása nem kötelező konfigurációs lépés. A fürt konfigurálásakor mindenképpen válassza ki a virtuális hálózatot.

Több hálózat összekapcsolása

A több hálózati konfigurációval kapcsolatos legnagyobb kihívás a hálózatok közötti névfeloldás.

Az Azure névfeloldást biztosít a virtuális hálózaton telepített Azure-szolgáltatásokhoz. Ez a beépített névfeloldás lehetővé teszi, hogy a HDInsight teljes tartománynévvel (FQDN) csatlakozzon a következő erőforrásokhoz:

  • Bármely, az interneten elérhető erőforrás. Például microsoft.com, windowsupdate.com.

  • Minden olyan erőforrás, amely ugyanabban az Azure Virtual Network található, az erőforrás belső DNS-nevének használatával. Az alapértelmezett névfeloldás használatakor például az alábbi példák a HDInsight-munkavégző csomópontokhoz rendelt belső DNS-nevekre mutatnak be példákat:

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

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

      Mindkét csomópont képes közvetlenül kommunikálni egymással és a HDInsight más csomópontjaival belső DNS-nevek használatával.

Az alapértelmezett névfeloldás nem teszi lehetővé, hogy a HDInsight feloldja a virtuális hálózathoz csatlakoztatott hálózatokban lévő erőforrások nevét. Gyakori például, hogy csatlakoztatja a helyszíni hálózatot a virtuális hálózathoz. Csak az alapértelmezett névfeloldással a HDInsight név szerint nem fér hozzá a helyszíni hálózat erőforrásaihoz. Az ellenkezője is igaz, a helyszíni hálózat erőforrásai név szerint nem férnek hozzá a virtuális hálózat erőforrásaihoz.

Figyelmeztetés

A HDInsight-fürt létrehozása előtt létre kell hoznia az egyéni DNS-kiszolgálót, és konfigurálnia kell a virtuális hálózatot annak használatára.

A virtuális hálózat és a csatlakoztatott hálózatok erőforrásai közötti névfeloldás engedélyezéséhez a következő műveleteket kell végrehajtania:

  1. Hozzon létre egy egyéni DNS-kiszolgálót az Azure Virtual Network, ahol a HDInsight telepítését tervezi.

  2. Konfigurálja a virtuális hálózatot az egyéni DNS-kiszolgáló használatára.

  3. Keresse meg a virtuális hálózathoz hozzárendelt Azure-beli DNS-utótagot. Ez az érték hasonló a értékhez 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net. A DNS-utótag megkereséséről további információt a Példa: Egyéni DNS szakaszban talál.

  4. Konfigurálja a DNS-kiszolgálók közötti továbbítást. A konfiguráció a távoli hálózat típusától függ.

    • Ha a távoli hálózat helyszíni hálózat, konfigurálja a DNS-t az alábbiak szerint:

      • Egyéni DNS (a virtuális hálózatban):

        • A virtuális hálózat DNS-utótagjával kapcsolatos kérések továbbítása az Azure rekurzív feloldónak (168.63.129.16). Az Azure kezeli a virtuális hálózaton lévő erőforrásokra vonatkozó kéréseket

        • Továbbítja az összes többi kérést a helyszíni DNS-kiszolgálónak. A helyszíni DNS kezeli az összes többi névfeloldási kérést, még az internetes erőforrásokra, például Microsoft.com vonatkozó kéréseket is.

      • Helyszíni DNS: A virtuális hálózati DNS-utótagra vonatkozó kérések továbbítása az egyéni DNS-kiszolgálóra. Az egyéni DNS-kiszolgáló ezután továbbítja az Azure rekurzív feloldójának.

        Ez a konfiguráció a virtuális hálózat DNS-utótagját tartalmazó teljes tartománynevek kéréseit irányítja az egyéni DNS-kiszolgálóra. Az összes többi kérést (még a nyilvános internetes címek esetében is) a helyszíni DNS-kiszolgáló kezeli.

    • Ha a távoli hálózat egy másik Azure-Virtual Network, konfigurálja a DNS-t az alábbiak szerint:

      • Egyéni DNS (minden virtuális hálózatban):

        • A virtuális hálózatok DNS-utótagjára vonatkozó kérelmeket a rendszer az egyéni DNS-kiszolgálókra továbbítja. Az egyes virtuális hálózatok DNS-ének feladata a hálózaton belüli erőforrások feloldása.

        • Továbbítja az összes többi kérést az Azure rekurzív feloldójának. A rekurzív feloldó felelős a helyi és internetes erőforrások feloldásáért.

        Az egyes hálózatok DNS-kiszolgálója a dns-utótag alapján továbbítja a kéréseket a másiknak. Az egyéb kérések az Azure rekurzív feloldójának használatával lesznek feloldva.

      Az egyes konfigurációkra példaként tekintse meg a Példa: Egyéni DNS szakaszt.

További információ: Virtuális gépek és szerepkörpéldányok névfeloldása .

Közvetlen csatlakozás az Apache Hadoop-szolgáltatásokhoz

A fürthöz a következő címen csatlakozhat: https://CLUSTERNAME.azurehdinsight.net. Ez a cím nyilvános IP-címet használ, amely nem érhető el, ha NSG-k használatával korlátozta az internetről érkező bejövő forgalmat. Emellett a fürt virtuális hálózaton való üzembe helyezésekor a privát végponttal https://CLUSTERNAME-int.azurehdinsight.netis elérheti azt. Ez a végpont egy privát IP-címre oldódik fel a virtuális hálózaton belül fürthozzáférés céljából.

Ha a virtuális hálózaton keresztül szeretne csatlakozni az Apache Ambarihoz és más weblapokhoz, kövesse az alábbi lépéseket:

  1. A HDInsight-fürtcsomópontok belső teljes tartományneveinek (FQDN) felderítéséhez használja az alábbi módszerek egyikét:

    Cserélje le RESOURCEGROUP a elemet a virtuális hálózatot tartalmazó erőforráscsoport nevére, majd írja be a következő parancsot:

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

    A visszaadott csomópontok listájában keresse meg az átjárócsomópontok teljes tartománynevét, és használja az FQDN-eket az Ambarihoz és más webszolgáltatásokhoz való csatlakozáshoz. Például az Ambari eléréséhez használható http://<headnode-fqdn>:8080 .

    Fontos

    Az átjárócsomópontokon üzemeltetett egyes szolgáltatások egyszerre csak egy csomóponton aktívak. Ha megpróbál hozzáférni egy szolgáltatáshoz az egyik átjárócsomóponton, és 404-et ad vissza, váltson a másik átjárócsomópontra.

  2. Annak a csomópontnak és portnak a meghatározásához, amelyen egy szolgáltatás elérhető, tekintse meg a Hadoop-szolgáltatások által a HDInsighton használt portokat ismertető dokumentumot.

Terheléselosztás

HDInsight-fürt létrehozásakor egy terheléselosztó is létrejön. Ennek a terheléselosztónak a típusa az alapszintű termékváltozat szintjén van, amely bizonyos korlátozásokkal rendelkezik. Az egyik ilyen korlátozás az, hogy ha két virtuális hálózata van különböző régiókban, nem csatlakozhat alapszintű terheléselosztókhoz. További információt a virtuális hálózatok gyakori kérdései: a virtuális hálózatok közötti társviszony-létesítés korlátozásai című témakörben talál.

Egy másik korlátozás, hogy a HDInsight terheléselosztókat nem szabad törölni vagy módosítani. A terheléselosztó szabályainak módosításai felülíródnak bizonyos karbantartási események, például a tanúsítványmegújítások során. Ha a terheléselosztók módosulnak, és hatással vannak a fürt működésére, előfordulhat, hogy újra létre kell hoznia a fürtöt.

Következő lépések