Migração do Hadoop para o Azure
O Apache Hadoop fornece um sistema de arquivos distribuído e uma estrutura para usar técnicas MapReduce para analisar e transformar conjuntos de dados muito grandes. Uma característica importante do Hadoop é o particionamento de dados e computação em muitos (milhares) de hosts. Os cálculos são feitos em paralelo perto dos dados. Um cluster Hadoop dimensiona a capacidade de computação, a capacidade de armazenamento e a largura de banda de E/S simplesmente adicionando hardware de mercadoria.
Este artigo é uma visão geral da migração do Hadoop para o Azure. Os outros artigos desta seção fornecem diretrizes de migração para componentes específicos do Hadoop. Eles são:
- Migração do Apache HDFS para o Azure
- Migração do Apache HBase para o Azure
- Migração do Apache Kafka para o Azure
- Migração do Apache Sqoop para o Azure
O Hadoop fornece um extenso ecossistema de serviços e estruturas. Estes artigos não descrevem os componentes do Hadoop e as implementações do Azure deles em detalhes. Em vez disso, eles fornecem orientações e considerações de alto nível para servir como ponto de partida para você migrar seus aplicativos Hadoop locais e na nuvem para o Azure.
Apache, Apache Spark®, Apache Hadoop®, Apache HBase, Apache Hive, Apache Ranger®, Apache Sentry®, Apache ZooKeeper®, Apache Storm®, Apache Sqoop®, Apache Flink®, Apache Kafka® e o logotipo flame são marcas registradas ou marcas comerciais da Apache Software Foundation nos Estados Unidos e/ou em outros países.® Nenhum endosso da Apache Software Foundation está implícito no uso dessas marcas.
Componentes do Hadoop
Os principais componentes de um sistema Hadoop estão listados na tabela a seguir. Para cada componente, há uma breve descrição e informações de migração, como:
- Ligações para fluxogramas de decisão para decidir sobre estratégias de migração
- Uma lista de possíveis serviços de destino do Azure
Componente | Description | Fluxogramas de decisão | Serviços do Azure direcionados |
---|---|---|---|
Apache HDFS | Sistema de ficheiros distribuído | Planejando a migração de dados, pré-verificações antes da migração de dados | Azure Data Lake Storage |
Apache HBase | Serviço de tabela orientado a colunas | Escolhendo o destino de aterrissagem para o Apache HBase, escolhendo o armazenamento para o Apache HBase no Azure | HBase em uma máquina virtual (VM), HBase no Azure HDInsight, Azure Cosmos DB |
Apache Spark | Quadro de processamento de dados | Escolhendo o destino de pouso para o Apache Spark no Azure | Faísca no HDInsight, Azure Synapse Analytics, Azure Databricks |
Apache Hive | Infraestrutura de armazém de dados | Escolhendo o destino de aterrissagem para o Hive, Selecionando o banco de dados de destino para metadados do Hive | Hive em uma VM, Hive no HDInsight, Azure Synapse Analytics |
Apache Ranger | Quadro para a monitorização e gestão da segurança dos dados | Pacote de segurança empresarial para HDInsight, Microsoft Entra ID, Ranger em uma VM | |
Sentinela Apache | Quadro para a monitorização e gestão da segurança dos dados | Escolhendo destinos de aterrissagem para o Apache Sentry no Azure | Sentinela e Ranger em uma VM, Pacote de Segurança Empresarial para HDInsight, ID do Microsoft Entra |
Apache MapReduce | Estrutura de computação distribuída | MapReduce, Faísca | |
Apache Zookeeper | Serviço de coordenação distribuída | ZooKeeper em uma VM, solução integrada em plataforma como serviço (PaaS) | |
Apache YARN | Gerenciador de recursos para o ecossistema Hadoop | YARN em uma VM, solução integrada em PaaS | |
Apache Sqoop | Ferramenta de interface de linha de comando para transferir dados entre clusters Apache Hadoop e bancos de dados relacionais | Escolhendo destinos de aterrissagem para o Apache Sqoop no Azure | Sqoop em uma VM, Sqoop no HDInsight, Azure Data Factory |
Apache Kafka | Sistema de mensagens distribuído altamente escalável e tolerante a falhas | Escolhendo destinos de pouso para Apache Kafka no Azure | Kafka em uma VM, Hubs de Eventos para Kafka, Kafka no HDInsight |
Apache Atlas | Estrutura de código aberto para governança de dados e gerenciamento de metadados | Azure Purview |
Abordagens migratórias
O diagrama a seguir mostra três abordagens para migrar aplicativos Hadoop:
Transfira um ficheiro do Visio desta arquitetura.
As abordagens são as seguintes:
- Replataforma usando o Azure PaaS: para obter mais informações, consulte Modernizar usando o Azure Synapse Analytics e o Databricks.
- Elevar e mudar para o HDInsight: para obter mais informações, consulte Elevar e mudar para o HDInsight.
- Elevar e mudar para IaaS: para obter mais informações, consulte Elevar e mudar para a infraestrutura como serviço (IaaS) do Azure.
Modernize usando o Azure Synapse Analytics e o Databricks
O diagrama a seguir mostra essa abordagem:
Transfira um ficheiro do Visio desta arquitetura.
Levante e mude para o HDInsight
O diagrama a seguir mostra essa abordagem:
Transfira um ficheiro do Visio desta arquitetura.
Para obter mais informações, consulte Migrar clusters Apache Hadoop locais para o Azure HDInsight.
Levante e mude para a infraestrutura como serviço (IaaS) do Azure
O padrão a seguir apresenta um ponto de vista sobre como implantar o OSS no Azure IaaS com uma integração total de volta a sistemas locais, como Ative Directory, Controlador de Domínio e DNS. A implantação segue as diretrizes de zona de aterrissagem em escala empresarial da Microsoft. Os recursos de gerenciamento, como monitoramento, segurança, governança e rede, são hospedados em uma assinatura de gerenciamento. As cargas de trabalho, todas baseadas em IaaS, são hospedadas em uma assinatura separada. Para obter mais informações sobre zonas de aterrissagem em escala empresarial, consulte O que é uma zona de aterrissagem do Azure?.
Transfira um ficheiro do Visio desta arquitetura.
- O Ative Directory local sincroniza com o Microsoft Entra ID usando o Microsoft Entra Connect hospedado localmente.
- O Azure ExpressRoute fornece conectividade de rede segura e privada entre o local e o Azure.
- A assinatura de gerenciamento (ou hub) fornece recursos de rede e gerenciamento para a implantação. Esse padrão está de acordo com a orientação de zona de aterrissagem em escala empresarial da Microsoft.
- Os serviços hospedados dentro da assinatura do hub fornecem conectividade de rede e recursos de gerenciamento.
- O NTP (hospedado na VM do Azure) é necessário para manter os relógios sincronizados em todas as máquinas virtuais. Ao executar vários aplicativos, como HBase e ZooKeeper, você deve executar um serviço NTP (Network Time Protocol) ou outro mecanismo de sincronização de tempo no cluster. Todos os nós devem usar o mesmo serviço para sincronização de tempo. Para obter instruções sobre como configurar o NTP no Linux, consulte 14.6. Configuração básica de NTP.
- O Azure Network Watcher fornece ferramentas para monitorar, diagnosticar e gerenciar recursos em uma rede virtual do Azure. O Inspetor de Rede foi projetado para monitorar e reparar a integridade da rede de produtos IaaS, incluindo VMs, redes virtuais, gateways de aplicativos e balanceadores de carga.
- O Azure Advisor analisa a configuração de recursos e a telemetria de uso e, em seguida, recomenda soluções para melhorar a relação custo-benefício, o desempenho, a confiabilidade e a segurança dos recursos do Azure.
- O Azure Monitor fornece uma solução abrangente para coletar, analisar e agir em telemetria de seus ambientes locais e de nuvem. Ele ajuda você a entender o desempenho de seus aplicativos para que você possa identificar proativamente problemas que afetam os aplicativos e os recursos dos quais eles dependem.
- O Espaço de Trabalho do Log Analytics é um ambiente exclusivo para dados de log do Azure Monitor. Cada área de trabalho tem o seu próprio repositório de dados e a sua própria configuração. As fontes de dados e as soluções são configuradas para armazenar seus dados em um espaço de trabalho específico. Você precisa de um espaço de trabalho do Log Analytics se pretende coletar dados das seguintes fontes:
- Recursos do Azure na sua subscrição
- Computadores locais monitorados pelo System Center Operations Manager
- Coleções de dispositivos do System Center Configuration Manager
- Diagnóstico ou dados de log do Armazenamento do Azure
- O Agente Auto-Hospedado do Azure DevOps hospedado em Conjuntos de Escala de Máquina Virtual do Azure oferece flexibilidade sobre o tamanho e a imagem das máquinas nas quais os agentes são executados. Você especifica um conjunto de escala de máquina virtual, um número de agentes para manter em espera, um número máximo de máquinas virtuais no conjunto de escala. O Azure Pipelines gerencia o dimensionamento de seus agentes para você.
- O locatário do Microsoft Entra ID é sincronizado com o Ative Directory local por meio dos serviços de sincronização do Microsoft Entra Connect. Para obter mais informações, consulte Microsoft Entra Connect Sync: entender e personalizar a sincronização.
- Os Serviços de Domínio Microsoft Entra (Serviços de Domínio Microsoft Entra) fornecem recursos LDAP e Kerberos no Azure. Quando você implanta pela primeira vez os Serviços de Domínio do Microsoft Entra, uma sincronização unidirecional automática é configurada e iniciada para replicar os objetos do Microsoft Entra ID. Esta sincronização unidirecional continua a ser executada em segundo plano para manter o domínio gerido do Microsoft Entra Domain Services atualizado com quaisquer alterações feitas a partir do Microsoft Entra ID. Não ocorre nenhuma sincronização entre o Microsoft Entra Domain Services e o Microsoft Entra ID.
- Serviços como o DNS do Azure, o Microsoft Defender for Cloud e o Azure Key Vault ficam dentro da assinatura de gerenciamento e fornecem resolução de endereço de serviço/IP, gerenciamento de segurança de infraestrutura unificado e recursos de gerenciamento de certificados e chaves, respectivamente.
- O Emparelhamento de Rede Virtual fornece conectividade entre redes virtuais implantadas em duas assinaturas: gerenciamento (hub) e carga de trabalho (falada).
- Em linha com as zonas de aterrissagem em escala empresarial, as assinaturas de carga de trabalho são usadas para hospedar cargas de trabalho de aplicativos.
- O Armazenamento Azure Data Lake é um conjunto de recursos criados no Armazenamento de Blobs do Azure para fazer análises de big data. No contexto de cargas de trabalho de big data, o Data Lake Storage pode ser usado como armazenamento secundário para Hadoop. Os dados gravados no Armazenamento Data Lake podem ser consumidos por outros serviços do Azure que estão fora da estrutura do Hadoop.
- As cargas de trabalho de Big Data são hospedadas em um conjunto de máquinas virtuais independentes do Azure. Consulte as orientações para HDFS, HBase, Hive, Ranger e Spark no Azure IaaS para obter mais informações.
- O Azure DevOps é uma oferta de software como serviço (SaaS) que fornece um conjunto integrado de serviços e ferramentas para gerenciar seus projetos de software, desde o planejamento e desenvolvimento até testes e implantação.
Arquitetura de referência de estado final
Um dos desafios da migração de cargas de trabalho do Hadoop local para o Azure é a implantação para alcançar a arquitetura e o aplicativo de estado final desejados. O projeto descrito em Hadoop Migration on Azure PaaS destina-se a reduzir o esforço significativo que geralmente é necessário para implantar os serviços PaaS e o aplicativo.
Nesse projeto, examinamos a arquitetura de estado final para cargas de trabalho de big data no Azure e listamos os componentes que são usados em uma implantação de modelo Bicep. Com o Bicep implantamos apenas os módulos que precisamos para implantar a arquitetura. Abordamos os pré-requisitos para o modelo e os vários métodos de implantação dos recursos no Azure, como Um clique, CLI do Azure, Ações do GitHub e Pipeline de DevOps do Azure.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Principais autores:
- Namrata Maheshwary - Brasil | Arquiteto de Soluções Cloud Sênior
- Raja N - Brasil | Diretor, Customer Success
- Hideo Takagi - Brasil | Arquiteto de Soluções Cloud
- Ram Yerrabotu - Brasil | Arquiteto de Soluções Cloud Sênior
Outros contribuidores:
- Ram Baskaran - Brasil | Arquiteto de Soluções Cloud Sênior
- Jason Bouska - Brasil | Engenheiro de Software Sênior
- Eugene Chung - Brasil | Arquiteto de Soluções Cloud Sênior
- Pawan Hosatti - Brasil | Arquiteto de Soluções Cloud Sênior - Engenharia
- Daman Kaur - Brasil | Arquiteto de Soluções Cloud
- Danny Liu - Brasil | Arquiteto de Soluções Cloud Sênior - Engenharia
- Jose Mendez Arquiteto Sênior de Soluções Cloud
- Ben Sadeghi - Brasil | Especialista Sénior
- Sunil Sattiraju - Brasil | Arquiteto de Soluções Cloud Sênior
- Amanjeet Singh - Brasil | Gerente de Programa Principal
- Nagaraj Seeplapudur Venkatesan - Brasil | Arquiteto de Soluções Cloud Sênior - Engenharia
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
Introduções de produtos do Azure
- Introdução ao Azure Data Lake Storage Gen2
- O que é o Apache Spark no Azure HDInsight?
- O que é o Apache Hadoop no Azure HDInsight?
- O que é o Apache HBase no Azure HDInsight?
- O que é o Apache Kafka no Azure HDInsight?
- Visão geral da segurança corporativa no Azure HDInsight
Referência do produto Azure
- Documentação do Microsoft Entra
- Documentação do Azure Cosmos DB
- Documentação do Azure Data Factory
- Documentação do Azure Databricks
- Documentação dos Hubs de Eventos do Azure
- Documentação das Funções do Azure
- Documentação do Azure HDInsight
- Documentação de governança de dados do Microsoft Purview
- Documentação do Azure Stream Analytics
- Azure Synapse Analytics
Outro
- Pacote de Segurança Empresarial para Azure HDInsight
- Desenvolver programas Java MapReduce para Apache Hadoop no HDInsight
- Utilizar o Apache Sqoop com o Hadoop no HDInsight
- Visão geral do Apache Spark Streaming
- Tutorial do Structured Streaming
- Usar Hubs de Eventos do Azure a partir de aplicativos Apache Kafka