Como funciona o HDInsight

Concluído

O HDInsight é um sistema de processamento de dados distribuído na nuvem que é altamente disponível e seguro por padrão. No coração deste sistema está o Apache Hadoop. O Apache Hadoop inclui dois componentes principais: o Apache Hadoop Distributed File System (HDFS), usado para armazenamento, e o Apache Hadoop Yet Another Resource Negotiator (YARN), que fornece o processamento. Além disso, é um modelo de programação MapReduce simples que permite processar e analisar dados. Os benefícios de usar o MapReduce são que ele é fácil de configurar e você pode controlar seus custos através do recurso de dimensionamento automático.

Uma visão conceitual da arquitetura HDInsight

Armazenamento

O aspeto de armazenamento não é criado automaticamente quando você provisiona um cluster HDInsight. Em vez disso, ele é fornecido por um sistema compatível com HDFS, como o Armazenamento do Azure ou o Azure Data Lake. O desacoplamento do armazenamento da camada de processamento permite excluir com segurança clusters HDInsight usados para computação sem perder dados do usuário. Ao adicionar um cluster HDInsight, você deve definir um sistema de arquivos padrão. Você pode vincular e desvincular sistemas de arquivos conforme necessário para aumentar o tamanho do armazenamento.

As informações a seguir são específicas do HDInsight 3.6 e superior. Durante o processo de criação do cluster HDInsight, você pode selecionar o Armazenamento do Azure ou o Azure Data Lake Storage Gen2 como o sistema de arquivos padrão, com algumas exceções. Fornecer um sistema de arquivos padrão garante que as referências de arquivo relativas possam ser resolvidas ao procurar arquivos. Para o Armazenamento do Azure, você deve especificar um contêiner de blob como o sistema de arquivos padrão.

Opções de armazenamento do HDInsight

A maioria das configurações usa o Azure Data Lake Storage Gen2. Esse tipo de instalação usa os principais recursos de um sistema de arquivos que são compatíveis com Hadoop, integração do Microsoft Entra e listas de controle de acesso (ACLs) baseadas em POSIX. Você pode usar o Armazenamento de Blobs do Azure para compatibilidade com versões anteriores, mas é altamente recomendável usar o Azure Data Lake Storage Gen2 sempre que possível.

Em processamento

Ao processar dados, o aspeto de computação de um cluster Hadoop no HDInsight é dividido em duas áreas lógicas. Nós de cabeça (mestre) e nós de trabalho. O nó Head (Master) é responsável por aceitar e gerenciar as solicitações do cliente e, em seguida, passar a solicitação para os nós de trabalho para executar o processamento dos dados. Normalmente, há dois nós mestres. Um nó mestre ativo que gerenciará as conexões do cliente. Um segundo nó mestre passivo que fornece resiliência no caso de o primário ficar offline.

Tipos de nó HDInsight

O nó de trabalho é responsável pelo processamento dos dados que lhe foram atribuídos pelo nó Mestre. Os dados gerenciados dependem de como o modelo de programação MapReduce definiu como trabalhar com os dados e como o nó Master aloca o trabalho. Os nós Head e Worker podem se conectar diretamente a um DFS (Sistema de Arquivos Distribuído) conectado localmente ou acessar dados armazenados no Blob do Azure ou no Azure Data Lake.

Do ponto de vista do OSS, os recursos de gerenciamento de recursos de um cluster HDInsight são executados pelo YARN. Este serviço gerencia os recursos e o agendamento de tarefas que são realizados quando você está processando dados. Ele fica entre o HDFS e o sistema de computação do cluster HDInsight. O serviço funciona com outras tecnologias OSS para garantir que os recursos para processar o trabalho do HDInsight estejam disponíveis. O YARN trabalha com o nó principal para distribuir o trabalho pelos nós de trabalho do cluster para garantir que os trabalhos de processamento de dados sejam paralelizados.

HDFS, YARN e MapReduce são os três principais serviços necessários para o Hadoop no HDInsight. É comum usar tecnologias OSS adicionais para facilitar a criação de uma solução. Por exemplo, você pode usar o Hive como uma camada de abstração. Um que fica sobre o MapReduce para que você possa escrever construções de linguagem de tipo SQL para executar processamento e análise de dados ad hoc. Ou você pode usar o Apache Ambari para executar o monitoramento no cluster HDInsight.