Apache Hadoop
Apache Hadoop è un framework che supporta applicazioni distribuite con elevato accesso ai dati sotto una licenza libera; permette alle applicazioni di lavorare con migliaia di nodi e petabyte di dati. Hadoop è stato ispirato dalla MapReduce di Google e dal Google File System. Hadoop è un progetto Apache di alto livello costruito e usato da una comunità globale di contributori, che usano il linguaggio di programmazione Java.
Apache Hadoop software | |
---|---|
![]() | |
Genere | Calcolo distribuito |
Sviluppatore | Apache Software Foundation |
Data prima versione | 1º aprile 2006 |
Ultima versione | 3.4.1 (18 ottobre 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | Java |
Licenza | Apache License 2.0 (licenza libera) |
Sito web | hadoop.apache.org |
Yahoo! è il più grande contributore a questo progetto, e ne fa fortemente uso. Hadoop è usato anche da: AOL, Ebay, Facebook, IBM, ImageShack, Joost, Linkedin, Spotify, The New York Times e Twitter.
Hadoop offre una grande quantità di librerie di semplice utilizzo. Hadoop ha per il momento tre versioni, la prima versione di Hadoop utilizza l'algoritmo Map Reduce e Hadoop Distributed File System (HDFS). Dalla prima versione di Hadoop sono cambiate le necessità di prestazione, per questo motivo la seconda versione è stata quindi integrata con l'architettura YARN.
Il nome del progetto è stato scelto dal suo creatore Doug Cutting, il quale ha scelto Hadoop, il nome dell'elefante di pezza di suo figlio. In origine fu sviluppato per supportare la distribuzione per il progetto del motore di ricerca Nutch.
Architettura
Il principale componente è Hadoop Common, che fornisce accesso al file system supportato da Hadoop. L'Hadoop Common package contiene i file jar e gli script necessari per avviare Hadoop. Il package fornisce inoltre il codice sorgente, la documentazione e una sezione contributi che include i progetti della comunità Hadoop.
File System
L'Hadoop Distributed File System (in sigla HDFS) è un file system distribuito, portabile e scalabile scritto in Java per il framework Hadoop. Un cluster in Hadoop tipicamente possiede un singolo NameNode (su cui risiedono i metadati dei file) e un insieme di DataNode (su cui risiedono, in blocchi di dimensione fissa, i file dell'HDFS).
Hadoop supporta anche:
Hadoop può lavorare direttamente con qualsiasi file system distribuito che possa essere montato da un sistema operativo sottostante semplicemente usando un URL del tipo 'file://'.
Applicazioni usate nei cluster Hadoop
Tra le applicazioni usate più spesso in un cluster Hadoop, troviamo:
Motori di esecuzione
- Apache Spark, il motore di elaborazione che, nella maggior parte dei casi, è nettamente più veloce di MapReduce;
- Pig (programma), una piattaforma di alto livello per creare programmi MapReduce
Strumenti per l'immagazinamento dei dati
- Apache Hive, che viene usato per interrogare il contenuto di HDFS usando un linguaggio molto simile all'SQL che si chiama Hive Query Language;
- Apache Impala, molto simile a Hive, ma più veloce. Usa Impala Query Language;
- HBase, una base dati distribuita,
- Sqoop, strumento da linea di comando che permette di importare dati da basi dati relazionali verso HDFS e vice versa;
Console web
- Apache Ambari, che aiuta ad amministrare un cluster Hadoop con maggiore semplicità;
- Hue, una interfaccia grafica che permette di avere un punto di ingresso unico a tutti gli strumenti web per Hadoop;
Altri strumenti
- Apache ZooKeeper, un servizio di configurazione e sincronizzazione distribuito,
- Apache Flume, un servizio distribuito affidabile e disponibile per la raccolta, l'aggregazione e il trasporto un grande quantitativo di dati di log in maniera efficiente.
Distribuzioni di Hadoop
Sebbene sia possibile scaricare ed installare autonomamente tutti i software necessari per far funzionare un cluster Hadoop, in molti casi è preferibile usare una distribuzione nella quale sono già presenti ed installati tutti questi software.
Tra le distribuzioni più note troviamo:
- Cloudera distribution, including Hadoop una distribuzione open source che include i principali pacchetti usati per Hadoop, ad esclusione di Ambari;
- Hortonworks Data Platform un'altra distribuzione open source, che include anche Ambari per l'amministrazione del cluster;
- The MapR Converged Data Platform una distribuzione commerciale.
Voci correlate
Collegamenti esterni
- (EN) Sito di Hadoop, su hadoop.apache.org.
Controllo di autorità | GND (DE) 1022420135 |
---|