Skapa Apache HBase-kluster i HDInsight i Azure Virtual Network
Lär dig hur du skapar Azure HDInsight Apache HBase-kluster i ett virtuellt Azure-nätverk.
Med integrering av virtuella nätverk kan Apache HBase-kluster distribueras till samma virtuella nätverk som dina program så att program kan kommunicera direkt med HBase. Exempel på fördelar:
- Direktanslutning av webbprogrammet till noderna i HBase-klustret, vilket möjliggör kommunikation via RPC-API:er (HBase Java Remote Procedure Call).
- Bättre prestanda genom att inte låta trafiken gå över flera gatewayer och lastbalanserare.
- Möjligheten att bearbeta känslig information på ett säkrare sätt utan att exponera en offentlig slutpunkt.
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Skapa Apache HBase-kluster i ett virtuellt nätverk
I det här avsnittet skapar du ett Linux-baserat Apache HBase-kluster med det beroende Azure Storage-kontot i ett virtuellt Azure-nätverk med hjälp av en Azure Resource Manager-mall. Andra metoder för att skapa kluster och förstå inställningarna finns i Skapa HDInsight-kluster. Mer information om hur du använder en mall för att skapa Apache Hadoop-kluster i HDInsight finns i Skapa Apache Hadoop-kluster i HDInsight med hjälp av Azure Resource Manager-mallar
Kommentar
Vissa egenskaper är hårdkodade i mallen. Till exempel:
- Plats: USA, östra 2
- Klusterversion: 3.6
- Antal klusterarbetares noder: 2
- Standardlagringskonto: en unik sträng
- Namn på virtuellt nätverk: CLUSTERNAME-vnet
- Adressutrymme för virtuellt nätverk: 10.0.0.0/16
- Undernätsnamn: undernät1
- Adressintervall för undernät: 10.0.0.0/24
CLUSTERNAME
ersätts med det klusternamn som du anger när du använder mallen.
Välj följande bild för att öppna mallen i Azure Portal. Mallen finns i Azure-snabbstartsmallar.
I dialogrutan Anpassad distribution väljer du Redigera mall.
På rad 165 ändrar du värdet
Standard_A3
tillStandard_A4_V2
. Välj sedan Spara.Fyll i den återstående mallen med följande information:
Property Värde Prenumeration Välj en Azure-prenumeration som används för att skapa HDInsight-klustret, det beroende lagringskontot och det virtuella Azure-nätverket. Resursgrupp Välj Skapa ny och ange ett nytt resursgruppsnamn. Plats Välj en plats för resursgruppen. Klusternamn Ange ett namn för hadoop-klustret som ska skapas. Användarnamn och lösenord för klusterinloggning Standardanvändarnamnet är administratör. Ange ett lösenord. Ssh-användarnamn och lösenord Standardanvändarnamnet är sshuser. Ange ett lösenord. Välj Jag godkänner villkoren.
Välj Köp. Det tar cirka 20 minuter att skapa ett kluster. När klustret har skapats kan du välja klustret i portalen för att öppna det.
När du har slutfört artikeln kanske du vill ta bort klustret. Med HDInsight lagras dina data i Azure Storage, så att du på ett säkert sätt kan ta bort ett kluster när de inte används. Du debiteras också för ett HDInsight-kluster, även om det inte används. Eftersom avgifterna för klustret är många gånger högre än avgifterna för lagring är det ekonomiskt klokt att ta bort kluster när de inte används. Anvisningar om hur du tar bort ett kluster finns i Hantera Apache Hadoop-kluster i HDInsight med hjälp av Azure Portal.
Om du vill börja arbeta med ditt nya HBase-kluster kan du använda de procedurer som finns i Kom igång med Apache HBase med Apache Hadoop i HDInsight.
Ansluta till Apache HBase-klustret med Apache HBase Java RPC-API:er
Skapa en virtuell dator
Skapa en virtuell IaaS-dator (infrastruktur som en tjänst) i samma virtuella Azure-nätverk och samma undernät. Anvisningar om hur du skapar en ny virtuell IaaS-dator finns i Skapa en virtuell dator som kör Windows Server. När du följer stegen i det här dokumentet måste du använda följande värden för nätverkskonfigurationen:
- Virtuellt nätverk: CLUSTERNAME-vnet
- Undernät: undernät1
Viktigt!
Ersätt CLUSTERNAME
med det namn som du använde när du skapade HDInsight-klustret i föregående steg.
Med hjälp av dessa värden placeras den virtuella datorn i samma virtuella nätverk och undernät som HDInsight-klustret. Med den här konfigurationen kan de kommunicera direkt med varandra. Det finns ett sätt att skapa ett HDInsight-kluster med en tom kantnod. Kantnoden kan användas för att hantera klustret. Mer information finns i Använda tomma kantnoder i HDInsight.
Hämta fullständigt domännamn
När du använder ett Java-program för att ansluta till HBase via en fjärranslutning måste du använda det fullständigt kvalificerade domännamnet (FQDN). För att avgöra måste du hämta det anslutningsspecifika DNS-suffixet för HBase-klustret. För att göra det kan du använda någon av följande metoder:
Använd en webbläsare för att göra ett Apache Ambari-anrop :
Bläddra till
https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/hosts?minimal_response=true
. Den returnerar en JSON-fil med DNS-suffixen.Använd Ambari-webbplatsen:
- Bläddra till
https://CLUSTERNAME.azurehdinsight.net
. - Välj Värdar på den översta menyn.
- Bläddra till
Använd Curl för att göra REST-anrop:
curl -u <username>:<password> -k https://CLUSTERNAME.azurehdinsight.net/ambari/api/v1/clusters/CLUSTERNAME.azurehdinsight.net/services/hbase/components/hbrest
I JSON-data (JavaScript Object Notation) hittar du posten "host_name". Den innehåller FQDN för noderna i klustret. Till exempel:
"host_name" : "hn*.hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net"
Den del av domännamnet som börjar med klusternamnet är DNS-suffixet. Exempel: hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net
Verifiera kommunikationen i det virtuella nätverket
Om du vill kontrollera att den virtuella datorn kan kommunicera med HBase-klustret använder du kommandot ping headnode0.<dns suffix>
från den virtuella datorn. Exempel: ping hn*.hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net
Om du vill använda den här informationen i ett Java-program kan du följa stegen i Använda Apache Maven för att skapa Java-program som använder Apache HBase med HDInsight (Hadoop) för att skapa ett program. Om du vill att programmet ska ansluta till en fjärransluten HBase-server ändrar du filen hbase-site.xml i det här exemplet så att den använder FQDN för Zookeeper. Till exempel:
<property>
<name>hbase.zookeeper.quorum</name>
<value>zookeeper0.<dns suffix>,zookeeper1.<dns suffix>,zookeeper2.<dns suffix></value>
</property>
Kommentar
Mer information om namnmatchning i virtuella Azure-nätverk, inklusive hur du använder din egen DNS-server, finns i Namnmatchning (DNS).
Nästa steg
I den här artikeln har du lärt dig hur du skapar ett Apache HBase-kluster. Mer information finns i: