O Apache Hadoop é um framework de software de código aberto baseado em Java e um mecanismo de processamento paralelo de dados. Ele permite que tarefas de processamento de análise de big data sejam divididas em tarefas menores que podem ser executadas em paralelo usando um algoritmo (como o MapReduce) e distribuindo-as em clusters Hadoop. Um cluster Hadoop é uma coleção de computadores chamados nós que estão conectados em rede para executar tais cálculos paralelos em grandes conjuntos de dados. Os clusters Hadoop, ao contrário de outros clusters de computador, são projetados especificamente para armazenar e analisar grandes quantidades de dados estruturados e não estruturados em um ambiente de computação distribuído. O que diferencia o ecossistema Hadoop de outros clusters de computador é sua estrutura e arquitetura únicas. Um cluster Hadoop consiste em uma rede de nós master e slave conectados que usam hardware de commodity de baixo custo e alta disponibilidade. A capacidade de dimensionar nós linearmente e adicionar ou subtrair rapidamente com base na demanda de volume o torna adequado para análises de big data com grandes variações no tamanho do conjunto de dados.
Um cluster Hadoop consiste em uma rede de nós master e worker que organizam e executam vários jobs no Hadoop Distributed File System. Os nós master normalmente usam hardware de alta qualidade e cada um contém um NameNode, um NameNode secundário e um JobTracker rodando em máquinas separadas. Os nós worker consistem em máquinas virtuais que executam serviços de DataNode e TaskTracker em hardware comum e fazem o trabalho real de armazenamento e processamento de jobs conforme orientado pelo nó master. A parte final do sistema são os nós do cliente, que são responsáveis por carregar os dados e buscar os resultados.

O tamanho do cluster Hadoop é um conjunto de métricas que definem o armazenamento e o poder de computação para executar cargas de trabalho do Hadoop, como:
