Criar clusters Apache HBase no HDInsight na Rede Virtual do Azure

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

Com a integração de rede virtual, os clusters Apache HBase podem ser implantados na mesma rede virtual que 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 HBase, o que permite a comunicação por meio de APIs de chamada de procedimento remoto (RPC) Java do HBase.
  • Desempenho melhorado por não ter o seu tráfego a passar por vários gateways e balanceadores de carga.
  • A capacidade de processar informações confidenciais de forma mais segura sem expor um ponto de extremidade público.

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

Criar cluster Apache HBase em rede virtual

Nesta seção, você cria um cluster Apache HBase baseado em Linux com a conta de 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 compreensão das configurações, consulte Criar clusters HDInsight. Para obter mais informações sobre como usar um modelo para criar clusters Apache Hadoop no HDInsight, consulte Criar clusters Apache Hadoop no HDInsight usando modelos do Azure Resource Manager

Nota

Algumas propriedades são codificadas no modelo. Por exemplo:

  • Localização: East US 2
  • Versão do cluster: 3.6
  • Contagem de nós de trabalho de cluster: 2
  • Conta de armazenamento padrão: uma cadeia de caracteres exclusiva
  • Nome da rede virtual: CLUSTERNAME-vnet
  • Espaço de endereço de 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 fornecido 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. Em seguida, selecione Guardar.

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

    Property valor
    Subscrição Selecione uma assinatura do Azure usada para criar o cluster HDInsight, a conta de Armazenamento dependente e a rede virtual do Azure.
    Grupo de recursos Selecione Criar novo e especifique um novo nome de grupo de recursos.
    Localização Selecione uma localização 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 login do cluster O Nome de Usuário padrão é admin. Forneça uma senha.
    Ssh Nome de usuário e senha 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. Depois que o cluster for criado, você poderá selecioná-lo no portal para abri-lo.

Depois de concluir o artigo, convém excluir o cluster. Com o HDInsight, os dados são armazenados no Storage do Azure, pelo que pode eliminar um cluster em segurança quando este não está a ser utilizado. Também lhe é cobrado o valor de um cluster do HDInsight mesmo quando não o está a utilizar. Uma vez que os custos do cluster são muito superiores aos custos do armazenamento, faz sentido do ponto de vista económico eliminar os clusters quando não estiverem a ser utilizados. Para obter instruções sobre como excluir um cluster, consulte Gerenciar clusters Apache Hadoop no HDInsight usando o portal do Azure.

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

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

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 nova máquina virtual IaaS, consulte 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: sub-rede1

Importante

Substitua CLUSTERNAME pelo nome usado 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 obter mais informações, consulte Usar nós de borda vazios no HDInsight.

Obter nome de domínio totalmente qualificado

Ao usar um aplicativo Java para se conectar ao HBase remotamente, você deve usar o FQDN (nome de domínio totalmente qualificado). Para determinar, você deve obter o sufixo DNS específico da conexão do cluster HBase. Para fazer isso, você pode usar um dos seguintes métodos:

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

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

  • Utilize o site da Ambari:

    1. Navegue para https://CLUSTERNAME.azurehdinsight.net.
    2. Selecione Anfitriões no menu superior.
  • Use 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". Ele contém o FQDN para os nós no cluster. Por exemplo:

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

A parte do nome de 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 HBase, use o comando ping headnode0.<dns suffix> 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 Usar o Apache Maven para criar aplicativos Java que usam o Apache HBase com HDInsight (Hadoop) para criar um aplicativo. Para que o aplicativo se conecte a um servidor HBase remoto, modifique o arquivo hbase-site.xml neste exemplo para usar o FQDN do Zookeeper. Por exemplo:

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

Nota

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

Próximos passos

Neste artigo, você aprendeu como criar um cluster Apache HBase. Para saber mais, veja: