Vídeo: How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox 2024
Em um universo Hadoop, os nós escravos são onde os dados Hadoop são armazenados e onde o processamento de dados ocorre. Os seguintes serviços permitem que os nodos escravos armazenem e processem dados:
-
NodeManager: Coordena os recursos para um nó escravo individual e reporta ao Gerenciador de recursos.
-
ApplicationMaster: Rastreia o progresso de todas as tarefas executadas no cluster Hadoop para um aplicativo específico. Para cada aplicativo cliente, o Resource Manager implanta uma instância do serviço ApplicationMaster em um contêiner em um nó escravo. (Lembre-se de que qualquer nó executando o serviço NodeManager é visível para o Resource Manager.)
-
Recipiente: Uma coleção de todos os recursos necessários para executar tarefas individuais para um aplicativo. Quando um aplicativo está sendo executado no cluster, o Resource Manager agende as tarefas para que o aplicativo seja executado como serviços de contêiner nos nós de escravo do cluster.
-
TaskTracker: Gerencia o mapa individual e reduz as tarefas executadas em um nó escravo para os clusters Hadoop 1. No Hadoop 2, este serviço é obsoleto e foi substituído pelos serviços da YARN.
-
DataNode: Um serviço HDFS que permite que o NameNode armazene blocos no nó escravo.
-
RegionServer: Armazena dados para o sistema HBase. No Hadoop 2, o HBase usa Hoya, que permite que as instâncias do RegionServer sejam executadas em contêineres.
Aqui, cada nó escravo sempre está executando uma instância do DataNode (que permite que o HDFS armazene e recupere os blocos de dados no nó escravo) e uma instância do NodeManager (que permite que o Resource Manager atribua as tarefas do aplicativo ao nodo escravo para processamento). Os processos de contêiner são tarefas individuais para aplicativos que estão sendo executados no cluster.
Cada aplicação em execução tem uma tarefa ApplicationMaster dedicada, que também é executada em um contêiner e rastreia a execução de todas as tarefas que executam no cluster até o aplicativo terminar.
Com HBase no Hadoop 2, o modelo de contêiner ainda é seguido, como você pode ver:
HBase no Hadoop 2 é iniciado pelo Hoya Application Master, que solicita contêineres para os serviços HMaster. (Você precisa de vários serviços HMaster para redundância.) O Hoya Application Master também solicita recursos para RegionServers, que também são executados em contêineres especiais.
A figura a seguir mostra os serviços implantados em nós escravos Hadoop 1.
Para o Hadoop 1, cada nó escravo sempre está executando uma instância do DataNode (que permite que o HDFS armazene e recupere os blocos de dados no nó escravo) e uma instância do TaskTracker (o que permite que o JobTracker atribua o mapa e reduza as tarefas para o nó escravo Para processamento).
Os nós escravos possuem um número fixo de slots de mapas e reduzem os slots para a execução do mapa e reduzem as tarefas, respectivamente. Se o seu cluster estiver executando o HBase, um número de nós escravos precisará executar um serviço RegionServer. Quanto mais dados você armazena no HBase, mais instâncias do RegionServer você precisará.
Os critérios de hardware para nós escravos são bastante diferentes dos dos nós mestres; de fato, os critérios não correspondem aos encontrados em arquiteturas de referência de hardware tradicionais para servidores de dados. Grande parte do zumbido que envolve o Hadoop é devido ao uso de hardware de commodities nos critérios de projeto dos clusters Hadoop, mas tenha em mente que o hardware commodity não se refere ao hardware de qualidade do consumidor.
Os nós escravos Hadoop ainda exigem hardware de nível empresarial, mas na parte inferior do espectro de custos, especialmente para o armazenamento.