Creare cluster Apache HBase su HDInsight nella rete virtuale di Azure

Informazioni su come creare cluster Apache HBase in Azure HDInsight in una Rete virtuale di Azure.

Grazie all'integrazione con la rete virtuale, i cluster Apache HBase possono essere distribuiti nella stessa rete virtuale delle applicazioni, consentendo così alle applicazioni di comunicare direttamente con HBase. I vantaggi includono:

  • Connettività diretta dell'applicazione Web con i nodi del cluster HBase, che consente le comunicazioni tramite le API RPC (Remote Procedure Call) Java di HBase.
  • Miglioramento delle prestazioni, poiché il traffico non deve attraversare più gateway e servizi di bilanciamento del carico.
  • Possibilità di elaborare le informazioni sensibili in modo più sicuro, senza esporre un endpoint pubblico.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Creare cluster Apache HBase nella rete virtuale

In questa sezione viene creato un cluster Apache HBase basato su Linux con l'account di Archiviazione di Azure dipendente in una rete virtuale di Azure tramite un modello di Azure Resource Manager. Per altri metodi di creazione di cluster e per informazioni sulle impostazioni, vedere l'articolo sulla creazione di cluster HDInsight. Per altre informazioni sull'uso di un modello per creare cluster Apache Hadoop in HDInsight, vedere Creare cluster Apache Hadoop in HDInsight tramite modelli di Azure Resource Manager

Nota

Alcune proprietà sono state impostate come hardcoded nel modello. Ad esempio:

  • Location: Stati Uniti orientali 2
  • Versione cluster: 3.6
  • Cluster worker node count: 2
  • Default storage account: stringa univoca
  • Nome rete virtuale: CLUSTERNAME-vnet
  • Virtual network address space: 10.0.0.0/16
  • Subnet name: subnet1
  • Subnet address range: 10.0.0.0/24

CLUSTERNAME viene sostituito con il nome del cluster specificato quando si usa il modello.

  1. Selezionare l'immagine seguente per aprire il modello nel portale di Azure. Il modello è disponibile in Modelli di avvio rapido di Azure.

    Deploy to Azure button for new cluster

  2. Nella finestra di dialogo Distribuzione personalizzata selezionare Modifica modello.

  3. Nella riga 165 modificare il valore Standard_A3 in Standard_A4_V2. Quindi selezionare Salva.

  4. Completare il modello rimanente con le informazioni seguenti:

    Proprietà valore
    Subscription selezionare una sottoscrizione di Azure usata per creare il cluster HDInsight, l'account di archiviazione dipendente e la rete virtuale di Azure.
    Gruppo di risorse selezionare Crea nuovo e specificare un nuovo nome al gruppo di risorse.
    Titolo Selezionare una Località per il gruppo di risorse.
    Nome del cluster immettere un nome per il cluster Hadoop da creare.
    Nome utente e password dell'account di accesso del cluster Il nome utente predefinito è admin. Specificare una password.
    Nome utente ssh e password Il nome utente predefinito è sshuser. Specificare una password.

    Selezionare Accetto i termini e le condizioni.

  5. Selezionare Acquista. La creazione di un cluster richiede circa 20 minuti. Dopo aver creato il cluster, è possibile selezionare il cluster nel portale per aprirlo.

Dopo aver completato l'articolo, è possibile eliminare il cluster. Con HDInsight, i dati vengono archiviati in Archiviazione di Azure ed è possibile eliminare tranquillamente un cluster quando non viene usato. Vengono addebitati i costi anche per i cluster HDInsight che non sono in uso. Poiché i costi per il cluster sono decisamente superiori a quelli per l'archiviazione, economicamente ha senso eliminare i cluster quando non vengono usati. Per istruzioni sull'eliminazione di un cluster, vedere Gestire cluster Apache Hadoop in HDInsight tramite il portale di Azure.

Per iniziare a lavorare con il nuovo cluster HBase, è possibile usare le procedure disponibili in Introduzione all'uso di Apache HBase con Apache Hadoop in HDInsight.

Connettersi al cluster Apache HBase tramite le API RPC Java di Apache HBase

Creare una macchina virtuale

Creare una macchina virtuale IaaS (Infrastructure as a Service) nella stessa rete virtuale di Azure e nella stessa subnet. Per le istruzioni su come creare una nuova macchina virtuale IaaS, vedere Creare una macchina virtuale che esegue Windows Server. Quando si usa la procedura indicata in questo documento, è necessario inserire i valori seguenti per la configurazione di rete:

  • Rete virtuale: CLUSTERNAME-vnet
  • Subnet: subnet1

Importante

Sostituire CLUSTERNAME con il nome usato durante la creazione del cluster HDInsight nei passaggi precedenti.

Usando questi valori, la macchina virtuale viene inserita nella stessa rete virtuale e nella stessa subnet del cluster HDInsight. Ciò consente la comunicazione bidirezionale diretta. È possibile creare un cluster HDInsight con un nodo perimetrale vuoto. Il nodo perimetrale può essere usato per gestire il cluster. Per altre informazioni, vedere Usare nodi perimetrali vuoti in HDInsight.

Ottenere il nome di dominio completo

Quando si usa un'applicazione Java per connettersi a HBase in modalità remota, è necessario usare il nome di dominio completo (FQDN). Per determinare, è necessario ottenere il suffisso DNS specifico della connessione del cluster HBase. A questo scopo, è possibile usare uno dei metodi seguenti:

  • Usare un Web browser per effettuare una chiamata Apache Ambari:

    Passa a https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/hosts?minimal_response=true. Restituisce un file JSON con i suffissi DNS.

  • Usare il sito Web Ambari:

    1. Passa a https://CLUSTERNAME.azurehdinsight.net.
    2. Selezionare Host dal menu in alto.
  • Usare Curl per effettuare chiamate REST:

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

Nei dati JSON (JavaScript Object Notation) restituiti, trovare la voce "host_name". Contiene il nome di dominio completo (FQDN) per i nodi nel cluster. Ad esempio:

"host_name" : "hn*.hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net"

La porzione del nome di dominio che inizia con il nome del cluster è il suffisso DNS. Ad esempio, hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net.

Verificare la comunicazione all'interno della rete virtuale

Per verificare che la macchina virtuale possa comunicare con il cluster HBase, usare il comando ping headnode0.<dns suffix> dalla macchina virtuale. Ad esempio, ping hn*.hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net.

Per usare queste informazioni in un'applicazione Java e creare un'applicazione, è possibile seguire i passaggi in Usare Apache Maven per compilare applicazioni Java che usano Apache HBase con HDInsight (Hadoop). Per fare in modo che l'applicazione si connetta a un server HBase remoto, modificare il file hbase-site.xml in questo esempio, in modo che usi il nome di dominio completo (FQDN) per Zookeeper. Ad esempio:

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

Nota

Per altre informazioni sulla risoluzione dei nomi in reti virtuali di Azure, comprese quelle relative all'uso del proprio server DNS, vedere Risoluzione dei nomi (DNS).

Passaggi successivi

In questo articolo si è appreso come creare un cluster Apache HBase. Per altre informazioni, vedere: