Vytváření clusterů Apache HBase v HDInsight ve virtuální síti AzureCreate Apache HBase clusters on HDInsight in Azure Virtual Network

Zjistěte, jak vytvářet clustery Azure HDInsight Apache HBase v Azure Virtual Network.Learn how to create Azure HDInsight Apache HBase clusters in an Azure Virtual Network.

Pomocí integrace služby virtual network je možné nasadit clustery Apache HBase ke stejné virtuální síti jako aplikace, takže aplikace můžou přímo komunikovat s HBase.With virtual network integration, Apache HBase clusters can be deployed to the same virtual network as your applications so that applications can communicate with HBase directly. Mezi výhody patří:The benefits include:

  • Přímé připojení k webové aplikace do uzlů clusteru HBase, který umožňuje komunikaci s použitím procedury vzdálený HBase Java volání rozhraní API (RPC).Direct connectivity of the web application to the nodes of the HBase cluster, which enables communication via HBase Java remote procedure call (RPC) APIs.
  • Vylepšený výkon tím, že provoz přejděte přes více bran a nástroje pro vyrovnávání zatížení.Improved performance by not having your traffic go over multiple gateways and load-balancers.
  • Možnost zpracování citlivých informací v lépe zabezpečeným způsobem bez vystavení veřejný koncový bod.The ability to process sensitive information in a more secure manner without exposing a public endpoint.

PožadavkyPrerequisites

Před zahájením tohoto kurzu musíte mít tyto položky:Before you begin this tutorial, you must have the following items:

Vytvoření clusteru Apache HBase do virtuální sítěCreate Apache HBase cluster into virtual network

V této části vytvoříte cluster Apache HBase se systémem Linux s závislého účtu Azure Storage ve virtuální síti Azure pomocí šablony Azure Resource Manageru.In this section, you create a Linux-based Apache HBase cluster with the dependent Azure Storage account in an Azure virtual network using an Azure Resource Manager template. Další metody vytváření clusterů a Principy nastavení, najdete v tématu clusterů HDInsight vytvořit.For other cluster creation methods and understanding the settings, see Create HDInsight clusters. Další informace o vytváření clusterů Apache Hadoop v HDInsight pomocí šablony najdete v tématu vytvořit Apache Hadoop clusterů v HDInsight pomocí šablon Azure Resource ManageruFor more information about using a template to create Apache Hadoop clusters in HDInsight, see Create Apache Hadoop clusters in HDInsight using Azure Resource Manager templates

Poznámka

Některé vlastnosti jsou pevně zakódovaný do šablony.Some properties are hard-coded into the template. Příklad:For example:

  • Umístění: Východní USA 2Location: East US 2
  • Verze clusteru: 3.6Cluster version: 3.6
  • Počet uzlů pracovního procesu clusteru: 2Cluster worker node count: 2
  • Výchozí účet úložiště: jedinečný řetězecDefault storage account: a unique string
  • Název virtuální sítě: <Název clusteru >-vnetVirtual network name: <Cluster Name>-vnet
  • Adresní prostor virtuální sítě: 10.0.0.0/16Virtual network address space: 10.0.0.0/16
  • Název podsítě: subnet1Subnet name: subnet1
  • Rozsah adres podsítě: 10.0.0.0/24Subnet address range: 10.0.0.0/24

<Název clusteru > se nahradí názvem clusteru poskytují při použití šablony.<Cluster Name> is replaced with the cluster name you provide when using the template.

  1. Kliknutím na následující obrázek otevřete šablonu na portálu Azure Portal.Click the following image to open the template in the Azure portal. Tato šablona je umístěná na šablony rychlý start Azure.The template is located in Azure quickstart templates.

    Deploy to Azure

  2. Z vlastní nasazení okně zadejte následující vlastnosti:From the Custom deployment blade, enter the following properties:

    • Předplatné: Vyberte předplatné Azure použité k vytvoření clusteru HDInsight a závislý účet úložiště, virtuální síť Azure.Subscription: Select an Azure subscription used to create the HDInsight cluster, the dependent Storage account and the Azure virtual network.
    • Skupina prostředků: Vyberte vytvořit novýa zadejte nový název skupiny prostředků.Resource group: Select Create new, and specify a new resource group name.
    • Umístění: Vyberte umístění skupiny prostředků.Location: Select a location for the resource group.
    • Název clusteru: Zadejte název pro vytvoření clusteru Hadoop.ClusterName: Enter a name for the Hadoop cluster to be created.
    • Přihlašovací jméno a heslo clusteru: Výchozí přihlašovací jméno je admin (správce).Cluster login name and password: The default login name is admin.
    • Uživatelské jméno SSH a heslo: Výchozí uživatelské jméno je sshuser (uživatelssh).SSH username and password: The default username is sshuser. Můžete ho změnit.You can rename it.
    • Souhlasím s podmínkami a ujednáními uvedenými nahoře: (Vybrat)I agree to the terms and the conditions stated above: (Select)
  3. Klikněte na Koupit.Click Purchase. Vytvoření clusteru trvá přibližně 20 minut.It takes about around 20 minutes to create a cluster. Jakmile je cluster vytvořen, můžete kliknout na portálu a otevře se okno clusteru.Once the cluster is created, you can click the cluster blade in the portal to open it.

Po dokončení tohoto kurzu můžete cluster odstranit.After you complete the tutorial, you might want to delete the cluster. Pomocí HDInsight jsou vaše data uložena v Azure Storage, takže můžete clusteru bezpečně odstranit, pokud není používán.With HDInsight, your data is stored in Azure Storage, so you can safely delete a cluster when it is not in use. Za cluster služby HDInsight se účtují poplatky, i když se nepoužívá.You are also charged for an HDInsight cluster, even when it is not in use. Vzhledem k tomu, že poplatky za cluster představují několikanásobek poplatků za úložiště, dává ekonomický smysl odstraňovat clustery, které nejsou používány.Since the charges for the cluster are many times more than the charges for storage, it makes economic sense to delete clusters when they are not in use. Postup odstranění clusteru naleznete v tématu spravovat Apache Hadoop clusterů v HDInsight pomocí webu Azure portal.For the instructions of deleting a cluster, see Manage Apache Hadoop clusters in HDInsight by using the Azure portal.

Pokud chcete začít pracovat s nového clusteru HBase pomocí postupů v začněte používat Apache HBase s Apache Hadoop v HDInsight.To begin working with your new HBase cluster, you can use the procedures found in Get started using Apache HBase with Apache Hadoop in HDInsight.

Připojte se ke clusteru Apache HBase pomocí rozhraní API Apache HBase Java RPCConnect to the Apache HBase cluster using Apache HBase Java RPC APIs

  1. Vytvoření infrastruktury jako služby (IaaS) virtuální počítač do stejné virtuální síti Azure a ve stejné podsíti.Create an infrastructure as a service (IaaS) virtual machine into the same Azure virtual network and the same subnet. Pokyny k vytvoření nového virtuálního počítače IaaS, naleznete v tématu vytvořte virtuálním počítači s Windows serverem.For instructions on creating a new IaaS virtual machine, see Create a Virtual Machine Running Windows Server. Podle kroků v tomto dokumentu, musíte použít následující hodnoty pro konfiguraci sítě:When following the steps in this document, you must use the following values for the Network configuration:

    • Virtuální síť: <Název clusteru >-vnetVirtual network: <Cluster name>-vnet
    • Podsíť: subnet1Subnet: subnet1

    Důležité

    Nahraďte <název clusteru > s názvem, který jste použili při vytváření clusteru HDInsight v předchozích krocích.Replace <Cluster name> with the name you used when creating the HDInsight cluster in previous steps.

    Pomocí těchto hodnot, virtuální počítač je umístěn ve stejné virtuální síť a podsíť jako HDInsight cluster.Using these values, the virtual machine is placed in the same virtual network and subnet as the HDInsight cluster. Tato konfigurace umožňuje, aby mohla komunikovat přímo mezi sebou.This configuration allows them to directly communicate with each other. Existuje způsob, jak vytvořit HDInsight cluster s prázdných hraničních uzlů.There is a way to create an HDInsight cluster with an empty edge node. Na hraničním uzlu lze použít ke správě clusteru.The edge node can be used to manage the cluster. Další informace najdete v tématu použití prázdných hraničních uzlů v HDInsight.For more information, see Use empty edge nodes in HDInsight.

  2. Při použití aplikace v Javě pro vzdálené připojení k HBase, musíte použít plně kvalifikovaný název domény (FQDN).When using a Java application to connect to HBase remotely, you must use the fully qualified domain name (FQDN). Určí, musíte získat příponu DNS specifickou pro připojení clusteru HBase.To determine this, you must get the connection-specific DNS suffix of the HBase cluster. K tomuto účelu můžete použít jednu z následujících metod:To do that, you can use one of the following methods:

    • Chcete-li použít webový prohlížeč Apache Ambari volání:Use a Web browser to make an Apache Ambari call:

      Přejděte na https://<Název_clusteru >.azurehdinsight.net/api/v1/clusters/<Název_clusteru > / hostitelem? minimal_response = true.Browse to https://<ClusterName>.azurehdinsight.net/api/v1/clusters/<ClusterName>/hosts?minimal_response=true. Ukazuje soubor JSON s přípony DNS.It turns a JSON file with the DNS suffixes.

    • Použijte Ambari web:Use the Ambari website:

      1. Přejděte na https://<Název_clusteru >. azurehdinsight.net.Browse to https://<ClusterName>.azurehdinsight.net.
      2. Klikněte na tlačítko hostitele z hlavní nabídky.Click Hosts from the top menu.
    • Použití Curl k volání REST:Use Curl to make REST calls:

         curl -u <username>:<password> -k https://<clustername>.azurehdinsight.net/ambari/api/v1/clusters/<clustername>.azurehdinsight.net/services/hbase/components/hbrest
      

      V datech JavaScript Object Notation (JSON) vrátila vyhledejte položku "název_hostitele".In the JavaScript Object Notation (JSON) data returned, find the "host_name" entry. Obsahuje plně kvalifikovaný název domény pro uzly v clusteru.It contains the FQDN for the nodes in the cluster. Příklad:For example:

      ...
      "host_name": "wordkernode0.<clustername>.b1.cloudapp.net
      ...
      

      Část počáteční název domény s názvem clusteru je přípona DNS.The portion of the domain name beginning with the cluster name is the DNS suffix. Například mycluster.b1.cloudapp.net.For example, mycluster.b1.cloudapp.net.

    • Použití Azure PowershellUse Azure PowerShell

      Pomocí následujícího skriptu prostředí Azure PowerShell k registraci Get-ClusterDetail funkce, které lze použít k vrácení přípona DNS:Use the following Azure PowerShell script to register the Get-ClusterDetail function, which can be used to return the DNS suffix:

         function Get-ClusterDetail(
             [String]
             [Parameter( Position=0, Mandatory=$true )]
             $ClusterDnsName,
             [String]
             [Parameter( Position=1, Mandatory=$true )]
             $Username,
             [String]
             [Parameter( Position=2, Mandatory=$true )]
             $Password,
             [String]
             [Parameter( Position=3, Mandatory=$true )]
             $PropertyName
             )
         {
         <#
             .SYNOPSIS
             Displays information to facilitate an HDInsight cluster-to-cluster scenario within the same virtual network.
             .Description
             This command shows the following 4 properties of an HDInsight cluster:
             1. ZookeeperQuorum (supports only HBase type cluster)
                 Shows the value of HBase property "hbase.zookeeper.quorum".
             2. ZookeeperClientPort (supports only HBase type cluster)
                 Shows the value of HBase property "hbase.zookeeper.property.clientPort".
             3. HBaseRestServers (supports only HBase type cluster)
                 Shows a list of host FQDNs that run the HBase REST server.
             4. FQDNSuffix (supports all cluster types)
                 Shows the FQDN suffix of hosts in the cluster.
             .EXAMPLE
             Get-ClusterDetail -ClusterDnsName {clusterDnsName} -Username {username} -Password {password} -PropertyName ZookeeperQuorum
             This command shows the value of HBase property "hbase.zookeeper.quorum".
             .EXAMPLE
             Get-ClusterDetail -ClusterDnsName {clusterDnsName} -Username {username} -Password {password} -PropertyName ZookeeperClientPort
             This command shows the value of HBase property "hbase.zookeeper.property.clientPort".
             .EXAMPLE
             Get-ClusterDetail -ClusterDnsName {clusterDnsName} -Username {username} -Password {password} -PropertyName HBaseRestServers
             This command shows a list of host FQDNs that run the HBase REST server.
             .EXAMPLE
             Get-ClusterDetail -ClusterDnsName {clusterDnsName} -Username {username} -Password {password} -PropertyName FQDNSuffix
             This command shows the FQDN suffix of hosts in the cluster.
         #>
      
             $DnsSuffix = ".azurehdinsight.net"
      
             $ClusterFQDN = $ClusterDnsName + $DnsSuffix
             $webclient = new-object System.Net.WebClient
             $webclient.Credentials = new-object System.Net.NetworkCredential($Username, $Password)
      
             if($PropertyName -eq "ZookeeperQuorum")
             {
                 $Url = "https://" + $ClusterFQDN + "/ambari/api/v1/clusters/" + $ClusterFQDN + "/configurations?type=hbase-site&tag=default&fields=items/properties/hbase.zookeeper.quorum"
                 $Response = $webclient.DownloadString($Url)
                 $JsonObject = $Response | ConvertFrom-Json
                 Write-host $JsonObject.items[0].properties.'hbase.zookeeper.quorum'
             }
             if($PropertyName -eq "ZookeeperClientPort")
             {
                 $Url = "https://" + $ClusterFQDN + "/ambari/api/v1/clusters/" + $ClusterFQDN + "/configurations?type=hbase-site&tag=default&fields=items/properties/hbase.zookeeper.property.clientPort"
                 $Response = $webclient.DownloadString($Url)
                 $JsonObject = $Response | ConvertFrom-Json
                 Write-host $JsonObject.items[0].properties.'hbase.zookeeper.property.clientPort'
             }
             if($PropertyName -eq "HBaseRestServers")
             {
                 $Url1 = "https://" + $ClusterFQDN + "/ambari/api/v1/clusters/" + $ClusterFQDN + "/configurations?type=hbase-site&tag=default&fields=items/properties/hbase.rest.port"
                 $Response1 = $webclient.DownloadString($Url1)
                 $JsonObject1 = $Response1 | ConvertFrom-Json
                 $PortNumber = $JsonObject1.items[0].properties.'hbase.rest.port'
      
                 $Url2 = "https://" + $ClusterFQDN + "/ambari/api/v1/clusters/" + $ClusterFQDN + "/services/hbase/components/hbrest"
                 $Response2 = $webclient.DownloadString($Url2)
                 $JsonObject2 = $Response2 | ConvertFrom-Json
                 foreach ($host_component in $JsonObject2.host_components)
                 {
                     $ConnectionString = $host_component.HostRoles.host_name + ":" + $PortNumber
                     Write-host $ConnectionString
                 }
             }
             if($PropertyName -eq "FQDNSuffix")
             {
                 $Url = "https://" + $ClusterFQDN + "/ambari/api/v1/clusters/" + $ClusterFQDN + "/services/YARN/components/RESOURCEMANAGER"
                 $Response = $webclient.DownloadString($Url)
                 $JsonObject = $Response | ConvertFrom-Json
                 $FQDN = $JsonObject.host_components[0].HostRoles.host_name
                 $pos = $FQDN.IndexOf(".")
                 $Suffix = $FQDN.Substring($pos + 1)
                 Write-host $Suffix
             }
         }
      

      Po spuštění skriptu Azure Powershellu, použijte následující příkaz k vrácení příponu DNS s využitím Get-ClusterDetail funkce.After running the Azure PowerShell script, use the following command to return the DNS suffix by using the Get-ClusterDetail function. Při použití tohoto příkazu zadejte název clusteru HDInsight HBase, jméno správce a heslo správce.Specify your HDInsight HBase cluster name, admin name, and admin password when using this command.

         Get-ClusterDetail -ClusterDnsName <yourclustername> -PropertyName FQDNSuffix -Username <clusteradmin> -Password <clusteradminpassword>
      

      Tento příkaz vrátí příponu DNS.This command returns the DNS suffix. Například yourclustername.b4.internal.cloudapp.net.For example, yourclustername.b4.internal.cloudapp.net.

Pokud chcete ověřit, že virtuální počítač může komunikovat s clusterem HBase, použijte příkaz ping headnode0.<dns suffix> z virtuálního počítače.To verify that the virtual machine can communicate with the HBase cluster, use the command ping headnode0.<dns suffix> from the virtual machine. Například odešlete zprávu ping headnode0.mycluster.b1.cloudapp.net.For example, ping headnode0.mycluster.b1.cloudapp.net.

Pokud chcete použít tyto informace v aplikaci Java, provedením kroků v pomocí nástroje Apache Maven k vytváření aplikací v Javě, které používají Apache HBase s HDInsight (Hadoop) k vytvoření aplikace.To use this information in a Java application, you can follow the steps in Use Apache Maven to build Java applications that use Apache HBase with HDInsight (Hadoop) to create an application. Chcete-li mít aplikaci připojit ke vzdálenému serveru HBase, upravte hbase-site.xml soubor v tomto příkladu pro použití plně kvalifikovaný název domény pro Zookeeper.To have the application connect to a remote HBase server, modify the hbase-site.xml file in this example to use the FQDN for Zookeeper. Příklad:For example:

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>zookeeper0.<dns suffix>,zookeeper1.<dns suffix>,zookeeper2.<dns suffix></value>
</property>

Poznámka

Další informace o překlad názvů v Azure virtuální sítě, včetně použití vlastního serveru DNS, najdete v části rozlišení DNS (Name).For more information about name resolution in Azure virtual networks, including how to use your own DNS server, see Name Resolution (DNS).

Další postupNext steps

V tomto kurzu jste zjistili, jak vytvořit cluster Apache HBase.In this tutorial, you learned how to create an Apache HBase cluster. Další informace naleznete v tématu:To learn more, see: