Compartilhar via


Configurar clusters no HDInsight com Apache Hadoop, Spark, Kafka e mais

Neste artigo, você aprenderá a configurar o Apache Hadoop, o Apache Spark, o Apache Kafka, o Interactive Query ou o Apache HBase no Azure HDInsight. Você também aprenderá como personalizar clusters e adicionar segurança ingressando-os em um domínio.

Um cluster Hadoop é composto por várias máquinas virtuais (VMs, também conhecidas como nós) usadas para processamento distribuído de tarefas. O HDInsight manipula os detalhes de implementação da instalação e da configuração de nós individuais. Você fornece apenas informações gerais de configurações.

Importante

O faturamento de cluster do HDInsight é iniciado depois que um cluster é criado e pára quando o cluster é excluído. A cobrança ocorre por minuto. Portanto, sempre exclua o cluster quando ele não estiver mais sendo usado. Saiba como excluir um cluster.

Se você usar vários clusters juntos, deseja criar uma rede virtual. Se você usar um cluster Spark, também deseja usar o Hive Warehouse Connector. Para obter mais informações, confira Planejar uma rede virtual para o Azure HDInsight e Integrar o Apache Spark e o Apache Hive com o Hive Warehouse Connector.

Métodos de instalação de cluster

A tabela a seguir mostra os diferentes métodos que você pode usar para configurar um cluster HDInsight.

Clusters criados com Navegador da Web Linha de comando API REST .
Portal do Azure      
Azure Data Factory
CLI do Azure      
PowerShell do Azure      
Curl    
Modelos do Gerenciador de Recursos do Azure      

Este artigo o orienta pela configuração no portal do Azure, onde você pode criar um cluster HDInsight.

Noções básicas

Captura de tela que mostra as opções Criar cluster HDInsight.

Detalhes do projeto

O Azure Resource Manager ajuda você a trabalhar com os recursos do aplicativo como um grupo, conhecido como um grupo de recursos do Azure. Você pode implantar, atualizar, monitorar ou excluir todos os recursos do seu aplicativo com uma única operação coordenada.

Detalhes do cluster

Os detalhes do cluster incluem o nome, a região, o tipo e a versão.

Nome do cluster

Os nomes de cluster HDInsight têm as seguintes restrições:

  • Caracteres permitidos: a-z, 0-9 e A-Z
  • Comprimento máximo: 59
  • Nomes reservados: aplicativos
  • Nomenclatura de cluster: o escopo é para todo o Azure, em todas as assinaturas. O nome do cluster deve ser exclusivo no mundo inteiro. Os primeiros seis caracteres devem ser exclusivos em uma rede virtual.

Region

Você não precisa especificar o local do cluster explicitamente. O cluster está no mesmo local que o armazenamento padrão. Para obter uma lista de regiões com suporte, selecione a lista suspensa Região em Preços do HDInsight.

Tipo de cluster

Na tabela a seguir, o HDInsight atualmente fornece os tipos de cluster, cada um com um conjunto de componentes para fornecer determinadas funcionalidades.

Importante

Clusters HDInsight estão disponíveis em vários tipos, cada um para uma carga de trabalho ou tecnologia distinta. Não há nenhum método com suporte para criar um cluster que combina vários tipos, como HBase em um cluster. Se sua solução exige tecnologias que sejam distribuídas entre vários tipos de cluster HDInsight, uma rede virtual do Azure pode conectar os tipos de cluster necessários.

Tipo de cluster Funcionalidade
Hadoop Consulte de lote e análise de dados armazenados.
HBase Processamento de grandes quantidades de dados NoSQL sem esquema.
Consulta Interativa Caching na memória para consultas de Hive interativas e mais rápidas.
Kafka Uma plataforma de streaming distribuída que você pode usar para compilar pipelines e aplicativos de dados de streaming em tempo real.
Spark Processamento na memória, consultas interativas, processamento de transmissão de microlotes.

Versão

Escolha a versão do HDInsight para este cluster. Para saber mais, confira Versões do HDInsight com suporte.

Credenciais do cluster

Com os clusters HDInsight, você pode configurar duas contas de usuário durante a criação de cluster:

  • Nome de usuário de logon do cluster: o nome de usuário padrão é admin. Ele usa a configuração básica no portal do Azure. Também é chamado de Usuário do cluster ou Usuário HTTP.
  • Nome de usuário do Secure Shell (SSH): usado para se conectar ao cluster por meio do SSH. Para obter mais informações, confira Usar SSH com HDInsight.

O nome de usuário HTTP tem as seguintes restrições:

  • Caracteres especiais permitidos: _ e @
  • Caracteres não permitidos: #;."',/:!*?$(){}[]<>|&--=+%~^espaço
  • Comprimento máximo: 20

O nome de usuário SSH tem as seguintes restrições:

  • Caracteres especiais permitidos: _ e @
  • Caracteres não permitidos: #;."',/:!*?$(){}[]<>|&--=+%~^espaço
  • Comprimento máximo: 64
  • Nomes reservados: hadoop, users, oozie, hive, mapred, ambari-qa, zookeeper, tez, hdfs, sqoop, yarn, hcat, ams, hbase, administrator, admin, user, user1, test, user2, test1, user3, admin1, 1, 123, a, actuser, adm, admin2, aspnet, backup, console, David, guest, John, owner, root, server, sql, support, support_388945a0, sys, test2, test3, user4, user5, spark

Armazenamento

Captura de tela que mostra as configurações de armazenamento de cluster com pontos de extremidade compatíveis com HDFS.

Embora uma instalação local do Hadoop usa o HDFS (Sistema de Arquivos Distribuído Hadoop) para armazenamento no cluster, na nuvem você usa pontos de extremidade de armazenamento conectados ao cluster. Usar o armazenamento em nuvem significa que você pode excluir com segurança os clusters HDInsight usados para computação, mantendo seus dados.

Os clusters HDInsight podem usar as seguintes opções de armazenamento:

  • Azure Data Lake Storage Gen2
  • Armazenamento do Microsoft Azure de Uso Geral v2
  • Blob de blocos do Armazenamento do Microsoft Azure (com suporte apenas como armazenamento secundário)

Para obter mais informações sobre opções de armazenamento com o HDInsight, veja Comparar as opções de armazenamento para uso com clusters Azure HDInsight.

Não há suporte para o uso de mais contas de armazenamento em um local diferente do cluster HDInsight.

Durante a configuração, para o ponto de extremidade de armazenamento padrão, você especifica um contêiner de blob de uma conta de armazenamento ou Data Lake Storage. O armazenamento padrão contém os logs de aplicativo e de sistema. Opcionalmente, você pode especificar mais contas de armazenamento vinculadas e do Data Lake Storage que o cluster possa acessar. O cluster HDInsight e as contas de armazenamento padrão dependentes devem estar na mesma localização do Azure.

Observação

O recurso que exige transferência segura passa todas as solicitações para sua conta por uma conexão segura. Somente o cluster do HDInsight versão 3.6 ou mais recente oferece suporte a esse recurso. Para saber mais, confira Criar um cluster Apache Hadoop com contas de armazenamento para transferência segura no Azure HDInsight.

Não habilite a transferência de armazenamento seguro após a criação de um cluster, pois o uso da conta de armazenamento pode resultar em erros. É melhor criar um novo cluster usando uma conta de armazenamento com a transferência segura já habilitada.

O HDInsight não transfere, move ou copia automaticamente os dados armazenados no armazenamento de uma região para outra.

Configurações de metastore

Você pode criar metastores Hive ou Apache Oozie opcionais. Nem todos os tipos de cluster dão suporte a metastores e o Azure Synapse Analytics não é compatível com metastores.

Para obter mais informações, consulte Usar armazenamentos de metadados externos no Azure HDInsight.

Ao criar um metastore personalizado, não use traços, hifens ou espaços no nome do banco de dados. Esses caracteres podem causar falha no processo de criação do cluster.

Banco de dados SQL para Hive

Se você deseja reter suas tabelas Hive depois de excluir um cluster HDInsight, use uma metastore personalizada. Você poderá então anexar a metastore a outro cluster HDInsight.

Um metastore HDInsight criado para uma versão de cluster HDInsight não pode ser compartilhado entre diferentes versões de cluster HDInsight. Para obter uma lista das versões do HDInsight, consulte Versões do HDInsight com suporte.

Você pode usar identidades gerenciadas para autenticar com o banco de dados SQL para Hive. Para obter mais informações, consulte Usar identidade gerenciada para autenticação do Banco de Dados SQL no HDInsight.

O metastore padrão fornece um banco de dados SQL com um limite de DTU básico de camada 5 (não atualizável). Ele é adequado para fins de testes básicos. Para cargas de trabalho grandes ou de produção, é recomendável migrar para um metastore externo.

Banco de dados SQL para Oozie

Para aumentar o desempenho durante o uso do Oozie, use um metastore personalizado. Uma metastore também pode fornecer acesso a dados de trabalho do Oozie depois de você excluir o cluster.

Você pode usar identidades gerenciadas para autenticar com o banco de dados SQL para Oozie. Para obter mais informações, consulte Usar identidade gerenciada para autenticação do Banco de Dados SQL no HDInsight.

Banco de dados SQL para Ambari

O Ambari é usado para monitorar clusters HDInsight, fazer alterações de configuração e armazenar informações de gerenciamento de cluster e o histórico de trabalhos. Com o recurso de banco de dados personalizado do Ambari, você pode implantar um novo cluster e configurar o Ambari em um banco de dados externo gerenciado por você. Para obter mais informações, consulte Banco de dados personalizado do Ambari.

Você pode usar identidades gerenciadas para autenticar com o banco de dados SQL para Ambari. Para obter mais informações, consulte Usar identidade gerenciada para autenticação do Banco de Dados SQL no HDInsight.

Não é possível reutilizar um metastore personalizado do Oozie. Para usar um metastore personalizado do Oozie, você deve fornecer um banco de dados SQL vazio ao criar o cluster HDInsight.

Segurança + rede

Captura de tela que mostra a opção Enterprise Security Package.

Pacote de segurança empresarial

Para tipos de cluster Hadoop, Spark, HBase, Kafka e Interactive Query, você pode optar por habilitar o Enterprise Security Package. Esse pacote fornece a opção de ter uma configuração de cluster mais segura usando o Apache Range e integrando com o Microsoft Entra. Para obter mais informações, veja Visão geral do Enterprise Security no Azure HDInsight.

Com o Enterprise Security Package, você pode integrar o HDInsight com o Microsoft Entra e o Apache Ranger. Você pode usar o Enterprise Security Package para criar vários usuários.

Para obter mais informações sobre como criar um cluster HDInsight conectado domínio, consulte Criar ambiente de área restrita do HDInsight conectado ao domínio.

Protocolo TLS

Para obter mais informações, confira Protocolo TLS.

Rede virtual

Se sua solução exige tecnologias que sejam distribuídas entre vários tipos de cluster HDInsight, uma rede virtual do Azure pode conectar os tipos de cluster necessários. Essa configuração permite que os clusters e qualquer código que você implantar neles se comuniquem diretamente uns com os outros.

Para obter mais informações sobre como usar uma rede virtual do Azure com HDInsight, veja Planejar uma rede virtual para HDInsight.

Para obter um exemplo de como usar dois tipos de cluster em uma rede virtual do Azure, confira Usar Streaming Estruturado do Apache Spark com o Apache Kafka. Para obter mais informações sobre como usar o HDInsight com uma rede virtual, incluindo requisitos de configuração específicos para a rede virtual, veja Planejar uma rede virtual para HDInsight.

Configurações de criptografia de disco

Para obter mais informações, confira Criptografia de disco de chave gerenciada pelo cliente.

Proxy REST do Kafka

Essa configuração está disponível apenas para o tipo de cluster Kafka. Para obter mais informações, consulte Usar um proxy REST.

Identidade

Para obter mais informações, veja Identidades gerenciadas no Azure HDInsight.

Configuração + preço

Captura de tela que mostra a escolha do tamanho do nó para HDInsight.

Você é cobrado pelo uso do nó enquanto o cluster existir. A cobrança é iniciada quando um cluster é criado e para quando o cluster é excluído. Os clusters não podem ser desalocados ou colocados em espera.

Configuração do nó

Cada tipo de cluster tem seu próprio número de nós, terminologia para nós no cluster e tamanho da VM padrão. Na tabela a seguir, o número de nós para cada tipo de nó está listado entre parênteses.

Tipo Nós Diagrama
O Hadoop Nó de Cabeçalho (2), Nó de Trabalho (1+) Nós de cluster Hadoop do HDInsight.
HBase Servidor principal (2), servidor de região (1+), nó mestre/do ZooKeeper (3) Configuração de tipo de cluster HBase do HDInsight.
Spark Nó de cabeçalho (2), Nó de trabalho (1+), Nó do ZooKeeper (3) (gratuito para tamanho de VM A1 do ZooKeeper) Configuração de tipo de cluster Spark do HDInsight.

Para obter mais informações, consulte Configuração de nó padrão e tamanhos de VM para clusters.

O custo de clusters HDInsight determinado pelo número de nós e pelos tamanhos de VM para os nós.

Diferentes tipos de cluster têm diferentes tipos de nó, números de nós e tamanhos de nós:

  • Padrão de tipo de cluster Hadoop:

    • Dois nós de cabeçalho
    • Quatro nós de trabalho

Se você estiver experimentando o HDInsight, recomenda-se o uso de um nó de trabalho. Para obter mais informações sobre os preços do HDInsight, confira Preços do HDInsight.

Observação

O limite de tamanho do cluster varia entre as assinaturas do Azure. Contate o suporte de cobrança do Azure para aumentar o limite.

Quando você usa o portal do Azure para configurar o cluster, o tamanho do nó está disponível por meio da guia Configuração + preço. No portal, você também pode ver o custo associado aos diferentes tamanhos de nó.

Tamanhos de máquina virtual

Quando você implanta clusters, escolha os recursos de computação com base na solução que você planeja implantar. As VMs a seguir são usadas para clusters HDInsight:

Para descobrir qual valor você deve usar para especificar um tamanho de VM ao criar um cluster usando os diferentes SDKs ou o Azure PowerShell, consulte Tamanhos de VM a serem usados para clusters HDInsight. Deste artigo vinculado, use o valor na coluna tamanho das tabelas.

Importante

Se você precisa de mais de 32 nós de trabalho em um cluster, você precisa selecionar um tamanho de nó de cabeçalho com pelo menos 8 núcleos e 14 GB de RAM.

Para obter mais informações, consulte Tamanhos das VMs. Para obter informações sobre os preços dos vários tamanhos, confira Preços do HDInsight.

Anexo de disco

Observação

Os discos adicionados são configurados apenas para diretórios locais do gerenciador de nós e não para diretórios de datanodes.

Um clusters HDInsight vem com espaço em disco predefinido com base na versão. A execução de alguns aplicativos grandes pode resultar em espaço em disco insuficiente, com erro de disco cheio LinkId=221672#ERROR_NOT_ENOUGH_DISK_SPACE e falhas de trabalho.

Você pode adicionar mais discos ao cluster usando o novo recurso de diretório local NodeManager. No momento da criação do cluster Hive e Spark, você pode selecionar o número de discos e adicioná-los aos nós de trabalho. Os discos selecionados podem ter 1 TB cada e fazem parte de diretórios locais NodeManager.

  1. Na guia Configuração + preço, selecione Habilitar disco gerenciado.
  2. Em Discos Standard, insira o número de discos.
  3. Selecione o nó de trabalho.

Você pode verificar o número de discos na guia Examinar + criar, em Configuração do cluster.

Adicionar aplicativo

É possível instalar aplicativos HDInsight em um cluster HDInsight baseado em Linux. Você pode usar aplicativos fornecidos pela Microsoft ou terceiros ou desenvolvidos por você. Para saber mais, confira Instalar aplicativos de terceiros do Apache Hadoop no Azure HDInsight.

A maioria dos aplicativos HDInsight é instalada em um nó de borda vazia. Um nó de borda vazio é uma VM do Linux com as mesmas ferramentas de cliente instaladas e configuradas do nó principal. Você pode usar o nó de borda para acessar o cluster, testar e hospedar seus aplicativos clientes. Para saber mais, confira Usar nós de borda vazia no HDInsight.

Ações de script

Você pode instalar mais componentes ou personalizar a configuração de cluster por meio de scripts durante a criação. Tais scripts são invocados por meio de ações de script, que é uma opção de configuração que pode ser usada no portal do Azure, nos cmdlets do Windows PowerShell do HDInsight ou no SDK do .NET do HDInsight. Para obter mais informações, consulte Personalizar o cluster HDInsight usando ações de script.

Alguns componentes nativos do Java, como Apache Mahout e Cascading, pode ser executados no cluster como arquivos Java Archive (JAR). Você pode distribuir esses arquivos JAR para o armazenamento e enviá-los aos clusters HDInsight por meio de mecanismos de envio de trabalho do Hadoop. Para obter mais informações, consulte Enviar Apache trabalhos do Hadoop por meio de programação.

Observação

Se você tiver problemas para implantar arquivos JAR nos clusters do HDInsight ou ao chamar arquivos JAR nesses clusters, entre em contato com o Suporte da Microsoft.

O HDInsight não dá suporte a Cascading e não é qualificado para o Suporte da Microsoft. Para obter as listas dos componentes suportados, confira Novidades nas versões de cluster fornecidas pelo HDInsight.

Às vezes, você deseja definir os seguintes arquivos de configuração durante o processo de criação:

  • clusterIdentity.xml
  • core-site.xml
  • gateway.xml
  • hbase-env.xml
  • hbase-site.xml
  • hdfs-site.xml
  • hive-env.xml
  • hive-site.xml
  • mapred-site
  • oozie-site.xml
  • oozie-env.xml
  • tez-site.xml
  • webhcat-site.xml
  • yarn-site.xml

Para saber mais, confira Personalizar clusters HDInsight usando a Inicialização.