Apache Hadoop è un framework software e un motore di elaborazione parallela open-source basato su Java. Consente di suddividere le attività di analisi dei Big Data in attività più piccole che possono essere eseguite in parallelo utilizzando un algoritmo (come l'algoritmo MapReduce) e distribuendole su un cluster Hadoop. Un cluster Hadoop è un insieme di computer, chiamati "nodi", collegati in rete per eseguire questo tipo di calcoli paralleli su set di Big Data. A differenza di altri cluster di computer, i cluster Hadoop sono progettati specificamente per archiviare e analizzare quantità enormi di dati strutturati e non strutturati in un ambiente di calcolo distribuito. Gli ecosistemi Hadoop si distinguono da altri cluster di computer anche per la loro struttura e architettura uniche. I cluster Hadoop consistono in una rete di nodi master e slave collegati tra loro che utilizzano hardware commerciali ad alta disponibilità e a basso costo. La capacità di scalare linearmente e di aggiungere o sottrarre rapidamente nodi in base ai volumi da gestire li rende adatti all'analisi di Big Data con set di dati di dimensioni molto variabili.
I cluster Hadoop sono composti da una rete di nodi master e worker che orchestrano ed eseguono i vari job sul file system distribuito di Hadoop. I nodi master utilizzano in genere hardware di qualità superiore e comprendono un NameNode, un Secondary NameNode e un JobTracker, ciascuno eseguito su una macchina separata. I worker consistono in macchine virtuali che eseguono i servizi DataNode e TaskTracker su hardware commerciali e svolgono il lavoro effettivo di archiviazione ed elaborazione in base alle indicazioni dei nodi master. La parte finale del sistema è costituita dai nodi client, responsabili del caricamento dei dati e del recupero dei risultati.

Una dimensione del cluster Hadoop è un insieme di parametri che definisce le capacità di archiviazione e calcolo per l'esecuzione dei carichi di lavoro di Hadoop, ovvero:
