Configurar clusters no HDInsight com Apache Hadoop, Apache Spark, Apache Kafka e muito mais
Saiba como configurar o Apache Hadoop, Apache Spark, Apache Kafka, Interactive Query ou Apache HBase ou no HDInsight. Além disso, saiba como personalizar clusters e adicionar segurança associando-os a um domínio.
Um cluster Hadoop consiste em várias máquinas virtuais (nós) que são usadas para processamento distribuído de tarefas. O Azure HDInsight lida com detalhes de implementação de instalação e configuração de nós individuais, portanto, você só precisa fornecer informações gerais de configuração.
Importante
A faturação do cluster do HDInsight tem início quando o cluster é criado e termina quando é eliminado. A faturação é rateada por minuto, pelo que deve sempre eliminar o cluster quando deixar de ser utilizado. Saiba como excluir um cluster.
Se você estiver usando vários clusters juntos, convém criar uma rede virtual e, se estiver usando um cluster do Spark, também desejará usar o Hive Warehouse Connector. Para obter mais informações, consulte 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 configuração de cluster
A tabela a seguir mostra os diferentes métodos que você pode usar para configurar um cluster HDInsight.
Clusters criados com | Browser | Linha de comandos | API REST | SDK |
---|---|---|---|---|
Portal do Azure | ✅ | |||
Fábrica de Dados do Azure | ✅ | ✅ | ✅ | ✅ |
CLI do Azure | ✅ | |||
Azure PowerShell | ✅ | |||
cURL | ✅ | ✅ | ||
Modelos do Azure Resource Manager | ✅ |
Este artigo orienta você pela configuração no portal do Azure, onde você pode criar um cluster HDInsight.
Noções Básicas
Detalhes do projeto
O Azure Resource Manager ajuda-o a trabalhar com os recursos na sua aplicação como um grupo, referido como um grupo de recursos do Azure. Você pode implantar, atualizar, monitorar ou excluir todos os recursos do seu aplicativo em uma única operação coordenada.
Detalhes do cluster
Nome do cluster
Os nomes de cluster HDInsight têm as seguintes restrições:
- Caracteres permitidos: a-z, 0-9, A-Z
- Comprimento máximo: 59
- Nomes reservados: apps
- O escopo de nomenclatura do cluster é para todos os Azure, em todas as assinaturas. Portanto, o nome do cluster deve ser exclusivo em todo o mundo.
- Os primeiros seis caracteres devem ser únicos dentro de uma rede virtual
País/Região
Não é necessário especificar o local do cluster explicitamente: o cluster está no mesmo local do armazenamento padrão. Para obter uma lista de regiões suportadas, selecione a lista suspensa Região nos preços do HDInsight.
Tipo de cluster
Atualmente, o Azure HDInsight fornece os seguintes tipos de cluster, cada um com um conjunto de componentes para fornecer determinadas funcionalidades.
Importante
Os clusters HDInsight estão disponíveis em vários tipos, cada um para uma única carga de trabalho ou tecnologia. Não há nenhum método suportado para criar um cluster que combine vários tipos, como HBase em um cluster. Se sua solução exigir tecnologias espalhadas por vários tipos de cluster HDInsight, uma rede virtual do Azure poderá conectar os tipos de cluster necessários.
Tipo de cluster | Caraterística |
---|---|
Hadoop | Consulta em lote e análise de dados armazenados |
HBase | Processamento de grandes quantidades de dados NoSQL sem esquema |
Consulta Interativa | Cache na memória para consultas interativas e mais rápidas do Hive |
Kafka | Uma plataforma de streaming distribuída que pode ser usada para criar pipelines de dados e aplicativos de streaming em tempo real |
Spark | Processamento na memória, consultas interativas, processamento de fluxo de microlote |
Versão
Escolha a versão do HDInsight para este cluster. Para obter mais informações, veja Versões suportadas do HDInsight.
Credenciais de cluster
Com os clusters HDInsight, você pode configurar duas contas de usuário durante a criação do cluster:
- Nome de usuário de login do cluster: O nome de usuário padrão é admin. Ele usa a configuração básica no portal do Azure. Às vezes, é chamado de "Usuário de cluster" ou "Usuário HTTP".
- Nome de usuário do Secure Shell (SSH): usado para se conectar ao cluster por meio de SSH. Para obter mais informações, veja Use SSH with HDInsight (Utilizar SSH com o HDInsight).
O nome de usuário HTTP tem as seguintes restrições:
- Caracteres especiais permitidos:
_
e@
- Caracteres não permitidos:
#;."',/:
!*?$(){}[]<>|&--=+%~^space' - Comprimento máximo: 20
O nome de usuário SSH tem as seguintes restrições:
- Caracteres especiais permitidos:
_
e@
- Caracteres não permitidos:
#;."',/:
!*?$(){}[]<>|&--=+%~^space' - 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
Embora uma instalação local do Hadoop use o Hadoop Distributed File System (HDFS) 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 enquanto ainda retém seus dados.
Os clusters HDInsight podem usar as seguintes opções de armazenamento:
- Azure Data Lake Storage Gen2
- Finalidade geral do Armazenamento do Azure v2
-
- Blob do Bloco de Armazenamento do Azure (suportado apenas como armazenamento secundário)
Para obter mais informações sobre opções de armazenamento com o HDInsight, consulte Comparar opções de armazenamento para uso com clusters do Azure HDInsight.
Aviso
Não há suporte para o uso de uma conta de armazenamento adicional em um local diferente do cluster HDInsight.
Durante a configuração, para o ponto de extremidade de armazenamento padrão, especifique um contêiner de blob de uma conta de Armazenamento do Azure ou Armazenamento Data Lake. O armazenamento padrão contém logs de aplicativos e do sistema. Opcionalmente, você pode especificar contas de Armazenamento do Azure vinculadas adicionais e contas de Armazenamento Data Lake que o cluster pode acessar. O cluster HDInsight e as contas de armazenamento dependentes devem estar no mesmo local do Azure.
Nota
A funcionalidade que requer uma transferência segura impõe todos os pedidos à sua conta através de uma ligação segura. Somente o cluster HDInsight versão 3.6 ou mais recente oferece suporte a esse recurso. Para obter mais informações, consulte Criar cluster Apache Hadoop com contas de armazenamento de transferência segura no Azure HDInsight.
Importante
Habilitar a transferência segura de armazenamento após a criação de um cluster pode resultar em erros ao usar sua conta de armazenamento e não é recomendado. É melhor criar um novo cluster usando uma conta de armazenamento com transferência segura já ativada.
Nota
O Azure HDInsight não transfere, move ou copia automaticamente os dados armazenados no Armazenamento do Azure de uma região para outra.
Configurações do Metastore
Você pode criar metastores opcionais do Hive ou do Apache Oozie. No entanto, nem todos os tipos de cluster oferecem suporte a metastores e o Azure Synapse Analytics não é compatível com metastores.
Para obter mais informações, consulte Usar repositórios de metadados externos no Azure HDInsight.
Importante
Ao criar um metastore personalizado, não use traços, hífenes ou espaços no nome do banco de dados. Isso pode fazer com que o processo de criação do cluster falhe.
Banco de dados SQL para Hive
Se quiser manter suas tabelas do Hive depois de excluir um cluster HDInsight, use um metastore personalizado. Em seguida, você pode anexar o metastore a outro cluster HDInsight.
Um metastore do HDInsight criado para uma versão do cluster HDInsight não pode ser compartilhado entre diferentes versões do cluster HDInsight. Para obter uma lista das versões do HDInsight, consulte Versões suportadas do HDInsight.
Importante
O metastore padrão fornece um Banco de Dados SQL do Azure com um limite básico de DTU de camada 5 (não atualizável)! Adequado para fins de testes básicos. Para cargas de trabalho grandes ou de produção, recomendamos migrar para um metastore externo.
Banco de dados SQL para Oozie
Para aumentar o desempenho ao usar o Oozie, use um metastore personalizado. Um metastore também pode fornecer acesso aos dados do trabalho do Oozie depois que você excluir o cluster.
Banco de dados SQL para Ambari
O Ambari é utilizado para monitorizar os clusters do HDInsight, fazer alterações à configuração e armazenar informações de gestão dos clusters, bem como o histórico de trabalhos. O recurso de banco de dados Ambari personalizado permite implantar um novo cluster e configurar o Ambari em um banco de dados externo que você gerencia. Para obter mais informações, consulte Custom Ambari DB.
Importante
Não é possível reutilizar um metastore personalizado do Oozie. Para usar um metastore Oozie personalizado, você deve fornecer um Banco de Dados SQL do Azure vazio ao criar o cluster HDInsight.
Segurança + rede
Pacote de Segurança Enterprise
Para os tipos de cluster Hadoop, Spark, HBase, Kafka e Consulta Interativa, você pode optar por habilitar o Pacote de Segurança Empresarial. Este pacote fornece a opção de ter uma configuração de cluster mais segura usando o Apache Ranger e integrando-se com o Microsoft Entra ID. Para obter mais informações, consulte Visão geral da segurança corporativa no Azure HDInsight.
O pacote de segurança Enterprise permite integrar o HDInsight ao Ative Directory e ao Apache Ranger. Vários usuários podem ser criados usando o pacote de segurança Enterprise.
Para obter mais informações sobre como criar cluster HDInsight associado a um domínio, consulte Criar ambiente de área restrita do HDInsight associado ao domínio.
TLS
Para obter mais informações, consulte Segurança da camada de transporte
Rede virtual
Se sua solução exigir tecnologias espalhadas por vários tipos de cluster HDInsight, uma rede virtual do Azure poderá conectar os tipos de cluster necessários. Essa configuração permite que os clusters, e qualquer código implantado neles, se comuniquem diretamente entre si.
Para obter mais informações sobre como usar uma rede virtual do Azure com o HDInsight, consulte Planejar uma rede virtual para o HDInsight.
Para obter um exemplo de como usar dois tipos de cluster em uma rede virtual do Azure, consulte Usar o Apache Spark Structured Streaming 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, consulte Planejar uma rede virtual para o HDInsight.
Configuração de criptografia de disco
Para obter mais informações, consulte Criptografia de disco de chave gerenciada pelo cliente.
Proxy REST do Kafka
Essa configuração só está disponível para o tipo de cluster Kafka. Para obter mais informações, consulte Usando um proxy REST.
Identidade
Para obter mais informações, consulte Identidades gerenciadas no Azure HDInsight.
Configuração + preços
Você será cobrado pelo uso do nó enquanto o cluster existir. A cobrança começa 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 e tamanho de VM padrão. Na tabela a seguir, o número de nós para cada tipo de nó está entre parênteses.
Type | Nós | Diagrama |
---|---|---|
Hadoop | Nó principal (2), nó trabalhador (1+) | |
HBase | Servidor principal (2), servidor de região (1+), nó mestre/ZooKeeper (3) | |
Spark | Nó principal (2), nó Trabalhador (1+), nó ZooKeeper (3) (gratuito para tamanho A1 ZooKeeper VM) |
Para obter mais informações, consulte Configuração de nó padrão e tamanhos de máquina virtual para clusters em "Quais são os componentes e versões do Hadoop no HDInsight?"
O custo dos clusters HDInsight é determinado pelo número de nós e pelos tamanhos das máquinas virtuais dos nós.
Diferentes tipos de cluster têm diferentes tipos de nós, números de nós e tamanhos de nós:
- Tipo de cluster Hadoop padrão:
Dois nós principais
Quatro nós de trabalho
Se estiver apenas a experimentar o HDInsight, recomendamos que utilize um nó de Trabalho. Para obter mais informações sobre os preços do HDInsight, consulte Preços do HDInsight.
Nota
O limite de tamanho do cluster varia entre as assinaturas do Azure. Entre em contato com 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ó fica 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ós.
Tamanhos de máquinas virtuais
Ao implantar clusters, escolha recursos de computação com base na solução que você planeja implantar. As seguintes VMs são usadas para clusters HDInsight:
- VMs das séries A e D1-4: tamanhos de VMs Linux de uso geral
- VM da série D11-14: Tamanhos de VM Linux otimizados para memória
Para descobrir qual valor você deve usar para especificar um tamanho de VM ao criar um cluster usando os diferentes SDKs ou ao usar o Azure PowerShell, consulte Tamanhos de VM a serem usados para clusters HDInsight. Neste artigo vinculado, use o valor na coluna Tamanho das tabelas.
Importante
Se você precisar de mais de 32 nós de trabalho em um cluster, deverá selecionar um tamanho de nó principal com pelo menos 8 núcleos e 14 GB de RAM.
Para obter mais informações, consulte Tamanhos para máquinas virtuais. Para obter informações sobre preços de vários tamanhos, consulte Preços do HDInsight.
Ligação ao disco
Nota
Os discos adicionados são configurados apenas para diretórios locais do gerenciador de nós e não para diretórios de nó de dados
O cluster HDInsight vem com espaço em disco predefinido com base na SKU. Se você executar alguns aplicativos grandes, pode levar a espaço em disco insuficiente, com erro de disco cheio - LinkId=221672#ERROR_NOT_ENOUGH_DISK_SPACE
e falhas de trabalho.
Mais discos podem ser adicionados ao cluster usando o diretório local do novo recurso NodeManager. No momento da criação do cluster Hive e Spark, o número de discos pode ser selecionado e adicionado aos nós de trabalho. O disco selecionado, que terá o tamanho de 1 TB cada, faria parte dos diretórios locais do NodeManager.
- Na guia Configuração + preços
- Selecione a opção Ativar disco gerenciado
- Em Discos padrão, insira o número de discos
- Escolha o nó Trabalhador
Você pode verificar o número de discos na guia Revisar + criar , em Configuração do cluster
Adicionar aplicação
O aplicativo HDInsight é um aplicativo que os usuários podem instalar em um cluster HDInsight baseado em Linux. Você pode usar aplicativos fornecidos pela Microsoft, de terceiros ou desenvolvidos por você. Para obter mais informações, consulte Instalar aplicativos Apache Hadoop de terceiros no Azure HDInsight.
A maioria dos aplicativos HDInsight é instalada em um nó de borda vazio. Um nó de borda vazio é uma máquina virtual Linux com as mesmas ferramentas de cliente instaladas e configuradas como no nó principal. Pode utilizar o nó periférico para aceder ao cluster, testar as suas aplicações cliente e alojar as suas aplicações cliente. Para obter mais informações, consulte Usar nós de borda vazios no HDInsight.
Ações do script
Você pode instalar componentes adicionais ou personalizar a configuração do cluster usando scripts durante a criação. Esses scripts são invocados por meio da Ação 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 HDInsight .NET. Para obter mais informações, consulte Personalizar cluster HDInsight usando Ação de Script.
Alguns componentes Java nativos, como Apache Mahout e Cascading, podem ser executados no cluster como arquivos Java Archive (JAR). Esses arquivos JAR podem ser distribuídos para o Armazenamento do Azure e enviados para clusters HDInsight com mecanismos de envio de trabalho Hadoop. Para obter mais informações, consulte Enviar trabalhos do Apache Hadoop programaticamente.
Nota
Se você tiver problemas para implantar arquivos JAR em clusters HDInsight ou chamar arquivos JAR em clusters HDInsight, entre em contato com o Suporte da Microsoft.
A cascata não é suportada pelo HDInsight e não é elegível para o Suporte da Microsoft. Para obter listas de componentes suportados, consulte Novidades nas versões de cluster fornecidas pelo HDInsight.
Às vezes, você deseja configurar 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
- site-mapeado
- oozie-site.xml
- oozie-env.xml
- tez-site.xml
- webhcat-site.xml
- yarn-site.xml
Para obter mais informações, consulte Personalizar clusters HDInsight usando o Bootstrap.