Arquitetura do Apache Hadoop no HDInsight
O Apache Hadoop inclui dois componentes principais: o Apache Hadoop Distributed File System (HDFS), que fornece armazenamento, e o Apache Hadoop Yet Another Resource Negotiator (YARN), que fornece processamento. Com recursos de armazenamento e processamento, um cluster torna-se capaz de executar programas MapReduce para executar o processamento de dados desejado.
Nota
Normalmente, um HDFS não é implantado no cluster HDInsight para fornecer armazenamento. Em vez disso, uma camada de interface compatível com HDFS é usada pelos componentes do Hadoop. A capacidade de armazenamento real é fornecida pelo Armazenamento do Azure ou pelo Armazenamento do Azure Data Lake. Para o Hadoop, os trabalhos do MapReduce executados no cluster HDInsight são executados como se um HDFS estivesse presente e, portanto, não exigem alterações para dar suporte às suas necessidades de armazenamento. No Hadoop no HDInsight, o armazenamento é terceirizado, mas o processamento YARN continua sendo um componente principal. Para obter mais informações, consulte Introdução ao Azure HDInsight.
Este artigo apresenta o YARN e como ele coordena a execução de aplicativos no HDInsight.
Noções básicas do Apache Hadoop YARN
O YARN controla e orquestra o processamento de dados no Hadoop. O YARN tem dois serviços principais que são executados como processos em nós no cluster:
- ResourceManager
- NodeManager
O ResourceManager concede recursos de computação de cluster para aplicativos como trabalhos MapReduce. O ResourceManager concede esses recursos como contêineres, onde cada contêiner consiste em uma alocação de núcleos de CPU e memória RAM. Se você combinou todos os recursos disponíveis em um cluster e, em seguida, distribuiu os núcleos e a memória em blocos, cada bloco de recursos será um contêiner. Cada nó no cluster tem uma capacidade para um determinado número de contêineres, portanto, o cluster tem um limite fixo no número de contêineres disponíveis. A alocação de recursos em um contêiner é configurável.
Quando um aplicativo MapReduce é executado em um cluster, o ResourceManager fornece ao aplicativo os contêineres nos quais executar. O ResourceManager rastreia o status dos aplicativos em execução, a capacidade de cluster disponível e rastreia os aplicativos à medida que concluem e liberam seus recursos.
O ResourceManager também executa um processo de servidor Web que fornece uma interface de usuário da Web para monitorar o status dos aplicativos.
Quando um usuário envia um aplicativo MapReduce para ser executado no cluster, o aplicativo é enviado para o ResourceManager. Por sua vez, o ResourceManager aloca um contêiner nos nós NodeManager disponíveis. Os nós do NodeManager são onde o aplicativo realmente é executado. O primeiro contêiner alocado executa um aplicativo especial chamado ApplicationMaster. Este ApplicationMaster é responsável pela aquisição de recursos, na forma de contêineres subsequentes, necessários para executar o aplicativo enviado. O ApplicationMaster examina os estágios do aplicativo, como o estágio de mapa e o estágio de redução, e fatores em quantos dados precisam ser processados. Em seguida, o ApplicationMaster solicita (negocia) os recursos do ResourceManager em nome do aplicativo. O ResourceManager, por sua vez, concede recursos dos NodeManagers no cluster ao ApplicationMaster para que ele use na execução do aplicativo.
Os NodeManagers executam as tarefas que compõem o aplicativo e, em seguida, relatam seu progresso e status de volta para o ApplicationMaster. O ApplicationMaster, por sua vez, relata o status do aplicativo de volta para o ResourceManager. O ResourceManager retorna todos os resultados para o cliente.
YARN no HDInsight
Todos os tipos de cluster HDInsight implantam o YARN. O ResourceManager é implantado para alta disponibilidade com uma instância primária e secundária, que é executada no primeiro e segundo nós principais dentro do cluster, respectivamente. Apenas uma instância do ResourceManager está ativa de cada vez. As instâncias do NodeManager são executadas nos nós de trabalho disponíveis no cluster.
Eliminação recuperável
Para cancelar a exclusão de um arquivo da sua Conta de Armazenamento, consulte:
Armazenamento do Azure
Azure Data Lake Storage Gen 1
Restore-AzDataLakeStoreDeletedItem
Azure Data Lake Storage Gen2
Problemas conhecidos do Azure Data Lake Storage Gen2
Purga de lixo
A fs.trash.interval
propriedade do HDFS>Advanced core-site deve permanecer no valor 0
padrão porque você não deve armazenar dados no sistema de arquivos local. Esse valor não afeta as contas de armazenamento remoto (WASB, ADLS GEN1, ABFS)