Criar clusters do Apache HBase no HDInsight na rede virtual do Azure

Aprenda como criar clusters do Azure HDInsight Apache HBase em uma Rede Virtual do Azure.

Com a integração de rede virtual, os clusters Apache HBase podem ser implantados na mesma rede virtual dos seus aplicativos para que os aplicativos possam se comunicar diretamente com o HBase. Os benefícios incluem:

  • Conectividade direta do aplicativo Web com os nós do cluster do HBase, que permite a comunicação usando APIs RPC (chamada de procedimento remoto) Java do HBase.
  • Desempenho aprimorado, evitando que o tráfego percorra diversos gateways e balanceadores de carga.
  • Capacidade de processar informações confidenciais de maneira mais segura, sem expor um ponto de extremidade público.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Criar cluster do Apache HBase na rede virtual

Nesta seção, você cria um cluster Apache HBase baseado em Linux com a conta do Armazenamento do Azure dependente em uma rede virtual do Azure usando um modelo do Azure Resource Manager. Para outros métodos de criação de cluster e noções básicas sobre as configurações, confira Criar clusters do HDInsight. Para obter mais informações sobre como usar um modelo para criar clusters do Apache Hadoop no HDInsight, consulte Criar clusters do Apache Hadoop no HDInsight usando modelos do Azure Resource Manager

Observação

Algumas propriedades foram embutidas em código no modelo. Por exemplo:

  • Local: Leste dos EUA 2
  • Versão do cluster: 3.6
  • Contagem de nós de trabalho do cluster: 2
  • Conta de armazenamento padrão: uma cadeia de caracteres exclusiva
  • Nome da rede virtual: CLUSTERNAME-vnet
  • Espaço de endereço da rede virtual: 10.0.0.0/16
  • Nome da sub-rede: subnet1
  • Intervalo de endereços da sub-rede: 10.0.0.0/24

CLUSTERNAME é substituído pelo nome do cluster que você fornecer ao usar o modelo.

  1. Selecione a imagem a seguir para abrir o modelo no portal do Azure. O modelo está localizado em Modelos de início rápido do Azure.

    Deploy to Azure button for new cluster

  2. Na caixa de diálogo Implantação personalizada, selecione Editar modelo.

  3. Na linha 165, altere o valor Standard_A3 para Standard_A4_V2. Selecione Salvar.

  4. Preencha o modelo restante com as seguintes informações:

    Propriedade Valor
    Subscription Selecione uma assinatura do Azure usada para criar o cluster HDInsight, a conta de armazenamento dependente e a rede virtual do Azure.
    Resource group Selecione Criar novo e especifique um novo nome do grupo de recursos.
    Location Selecione um local para o grupo de recursos.
    Nome do cluster Insira um nome para o cluster Hadoop a ser criado.
    Nome de Usuário e Senha de Logon do Cluster O Nome de Usuário padrão é admin. Forneça uma senha.
    Nome de Usuário e Senha de SSH O Nome de Usuário padrão é sshuser. Forneça uma senha.

    Selecione Concordo com os termos e as condições.

  5. Selecione Comprar. A criação de um cluster demora cerca de 20 minutos. Após a criação do cluster, você pode selecionar o cluster no portal para abri-lo.

Após a conclusão do artigo, convém excluir o cluster. Com o HDInsight, seus dados são armazenados no Armazenamento do Azure, assim você poderá excluir, com segurança, um cluster quando ele não estiver em uso. Você também é cobrado por um cluster HDInsight, mesmo quando ele não está em uso. Como os encargos para o cluster são muitas vezes maiores do que os encargos para armazenamento, faz sentido, do ponto de vista econômico, excluir os clusters quando não estiverem em uso. Para obter instruções sobre como excluir um cluster, consulte Gerenciar clusters do Apache Hadoop no HDInsight usando o portal do Azure.

Para começar a trabalhar com o novo cluster do HBase, você pode usar os procedimentos encontrados em Introdução ao uso do Apache HBase com o Apache Hadoop no HDInsight.

Conectar-se ao cluster Apache HBase usando as APIs de RPC do Apache HBase Java

Criar uma máquina virtual

Crie uma máquina virtual IaaS (infraestrutura como serviço) na mesma rede virtual do Azure e na mesma sub-rede. Para obter instruções sobre como criar uma máquina virtual IaaS, confira Criar uma máquina virtual executando o Windows Server. Ao seguir as etapas neste documento, você deve usar os seguintes valores para a configuração de Rede:

  • Rede virtual: CLUSTERNAME-vnet
  • Sub-rede: subnet1

Importante

Substitua CLUSTERNAME pelo nome que você usou ao criar o cluster HDInsight nas etapas anteriores.

Usando esses valores, a máquina virtual é colocada na mesma rede virtual e sub-rede que o cluster HDInsight. Essa configuração permite que eles se comuniquem diretamente uns com os outros. Há uma maneira de criar um cluster HDInsight com um nó de borda vazio. O nó de borda pode ser usado para gerenciar o cluster. Para saber mais, confira Usar nós de borda vazia no HDInsight.

Obter um nome de domínio totalmente qualificado

Ao usar um aplicativo Java para se conectar ao HBase remotamente, você deve usar o nome de domínio totalmente qualificado (FQDN). Para determiná-lo, você deve obter o sufixo DNS específico à conexão do cluster do HBase. Para fazer isso, é possível usar um dos métodos a seguir:

  • Use um navegador da Web para fazer uma chamada do Apache Ambari:

    Navegue até https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/hosts?minimal_response=true. Ele retorna um arquivo JSON com os sufixos DNS.

  • Use o site do Ambari:

    1. Navegue até https://CLUSTERNAME.azurehdinsight.net.
    2. Selecione Hosts no menu superior.
  • Use o Curl para fazer chamadas REST:

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

Nos dados JSON (JavaScript Object Notation) retornados, localize a entrada "host_name". Contém o FQDN para os nós no cluster. Por exemplo:

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

A parte do nome do domínio que começa com o nome do cluster é o sufixo DNS. Por exemplo, hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net.

Verificar a comunicação dentro da rede virtual

Para verificar se a máquina virtual pode se comunicar com o cluster do HBase, use o seguinte comando ping headnode0.<dns suffix> por meio da máquina virtual. Por exemplo, ping hn*.hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net.

Para usar essas informações em um aplicativo Java, você pode seguir as etapas em Use o Apache Maven para criar aplicativos Java que usem o Apache HBase com o HDInsight (Hadoop) para criar um aplicativo. Para que o aplicativo se conecte a um servidor HBase remoto, modifique o arquivo hbase-site.xml nesse exemplo para usar o FQDN para ZooKeeper. Por exemplo:

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

Observação

Para obter mais informações sobre a resolução de nome em redes virtuais do Azure, incluindo como usar seu próprio servidor DNS, consulte Resolução do Nome (DNS).

Próximas etapas

Neste artigo, você aprendeu como criar um cluster do Apache HBase. Para obter mais informações, consulte: