Apache Hadoop: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Noce09 (discussione | contributi)
m fix Template Webarchive - collegamenti all'Internet Archive
 
(7 versioni intermedie di 7 utenti non mostrate)
Riga 7:
'''Apache Hadoop''' è un [[framework]] sotto una [[licenza libera]] che supporta applicazioni distribuite con elevato accesso ai dati, permettendo alle applicazioni di lavorare con migliaia di nodi e [[petabyte]] di dati<ref>[https://siliconangle.com/2018/05/03/google-lands-deal-host-twitters-300-petabyte-hadoop-clusters-cloud/ Google lands deal to host Twitter’s 300-petabyte Hadoop big-data clusters on its cloud]</ref>. Ispirato dalla [[MapReduce]] di [[Google]]<ref>[https://static.googleusercontent.com/media/research.google.com/it//archive/mapreduce-osdi04.pdf MapReduce:Simplified Data Processing on Large Clusters]</ref> e dal [[Google File System]]<ref>[https://static.googleusercontent.com/media/research.google.com/it//archive/gfs-sosp2003.pdf The Google File System]</ref>, è un progetto della [[Apache Software Foundation|fondazione Apache]] di alto livello costruito e usato da una comunità globale di contributori, che usano i linguaggi di programmazione [[Java (linguaggio di programmazione)|Java]] e [[Scala (linguaggio di programmazione)|Scala]].
 
Usato anche da [[AOL]]<ref>[https://www.datanami.com/2016/11/15/data-science-team-sport-aol/ Why Data Science is a Team Sport at AOL]</ref>, [[Ebay]]<ref>[https://tech.ebayinc.com/engineering/hadoop-the-power-of-the-elephant/ Hadoop - The Power of the Elephant]</ref>, [[Facebook]]<ref>[https://www.facebook.com/notes/facebook-engineering/hadoop/16121578919/ Hadoop]</ref>, [[IBM]]<ref>[https://www.ibm.com/analytics/hadoop Apache Hadoop]</ref>, [[Linkedin]]<ref>[https://engineering.linkedin.com/hadoop/recap-improving-hadoop-performance-1000x Recap: Improving Hadoop Performance by (up to) 1000x]</ref>, [[Spotify]]<ref>[https://labs.spotify.com/2017/10/16/big-data-processing-at-spotify-the-road-to-scio-part-1/ Big Data Processing at Spotify: The Road to Scio (Part 1)]</ref>, [[The New York Times]]<ref>[https://open.nytimes.com/announcing-the-map-reduce-toolkit-502b6100eeeb Announcing the Map/Reduce Toolkit]</ref> e [[Twitter]]<ref>[https://www.datacenterknowledge.com/twitter/how-twitter-shrunk-its-hadoop-clusters-and-their-energy-consumption How Twitter Shrunk Its Hadoop Clusters and Their Energy Consumption]</ref>, il più grande contributore a questo progetto è stato [[Yahoo!]] <ref>[https://www.wired.com/2011/10/how-yahoo-spawned-hadoop/ How Yahoo Spawned Hadoop, the Future of Big Data]</ref>, e ne fa fortemente uso<ref>[https://www.datanami.com/2017/06/16/yahoos-massive-hadoop-scale-display-dataworks-summit/ Yahoo’s Massive Hadoop Scale on Display at Dataworks Summit]</ref>. Offre una grande quantità di librerie di semplice utilizzo ed ha per il momento tre versioni, la prima versione di Hadoop contiene 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 YARN<ref>[https://www.dezyre.com/article/hadoop-2-0-yarn-framework-the-gateway-to-easier-programming-for-hadoop-users/84 Hadoop 2.0 (YARN) Framework - The Gateway to Easier Programming for Hadoop Users]</ref>.
 
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<ref>[https://www.cnbc.com/id/100769719 Hadoop: Toddler Talk Provides Big Data Name]</ref>.
In origine fu sviluppato per supportare la distribuzione per il progetto del [[motore di ricerca]] [[Nutch]]<ref>[https://www.geeksforgeeks.org/hadoop-history-or-evolution/ Hadoop History or Evolution]</ref>.
 
== Struttura ==
Riga 17:
 
=== File System ===
L<nowiki>{{'</nowiki>}}'''Hadoop Distributed File System''' (in sigla '''HDFS''') è un file system distribuito, [[Portabilità|portabile]] e [[Scalabilità|scalabile]] scritto in Java per il framework Hadoop.
Un cluster in Hadoop tipicamente possiede uno o più name node (su cui risiedono i metadati dei file) e un insieme di data node (su cui risiedono, in blocchi di dimensione fissa, i file dell'HDFS).
I formati più usati per i file su HDFS sono [[Comma-separated values]], [https://avro.apache.org/ Apache Avro], [https://orc.apache.org/ Apache ORC] e [https://parquet.apache.org/ Apache Parquet].
Riga 27:
'''Name Node''': HDFS è costituito da un solo Name Node chiamato Master Node. Il nodo master può tenere traccia dei file, gestire il file system e ha i metadati di tutti i dati memorizzati al suo interno. In particolare, il nodo nome contiene i dettagli del numero di blocchi, le posizioni del nodo dati in cui sono archiviati i dati, dove sono archiviate le repliche e altri dettagli. Il nodo del nome ha un contatto diretto con il client.
 
'''Nodo dati''': un nodo dati memorizza i dati in esso come blocchi. Questo è anche noto come nodo slave e memorizza i dati effettivi in ​​HDFSHDFS che è responsabile della lettura e della scrittura da parte del client. Questi sono demoni schiavi. Ogni nodo Dati invia un messaggio Heartbeat al nodo Nome ogni 3 secondi e comunica che è vivo. In questo modo, quando Name Node non riceve un heartbeat da un nodo di dati per 2 minuti, considera quel nodo di dati come morto e avvia il processo di replica dei blocchi su un altro nodo di dati.
 
'''Nodo nome secondario''': serve solo per prendersi cura dei punti di controllo dei [[metadati]] del file system che si trova nel nodo nome. Questo è anche noto come checkpoint Node. È il nodo di supporto per il nodo dei nomi. Il nodo del nome secondario indica al nodo del nome di creare e inviare il file fsimage e editlog, su cui il file fsimage compresso viene creato dal nodo del nome secondario.<ref>{{citeCita booklibro|titletitolo=Data Science from Scratch. First Principles with Python|url=https://python.engineering/data-science-from-scratch-first-principles-with-python/|publishereditore=O'Reilly|datedata=2019|ISBN=9781492041139|6=|accesso=5 ottobre 2021|dataarchivio=17 agosto 2021|urlarchivio=https://web.archive.org/web/20210817121416/https://python.engineering/data-science-from-scratch-first-principles-with-python/|urlmorto=sì}}</ref><ref>{{CiteCita web|lastcognome=Balram|titletitolo=Big Data Hadoop Tutorial for Beginners|url=https://www.gyansetu.in/big-data-hadoop-tutorial-for-beginners|access-dateaccesso=2021-03-11 marzo 2021|website=www.gyansetu.in|languagelingua=en}}</ref>
 
'''Job Tracker''': Job Tracker riceve le richieste di esecuzione di Map Reduce dal client. Job tracker comunica con il Name Node per conoscere la posizione dei dati che verranno utilizzati nell'elaborazione. Il Nodo Nome risponde con i metadati dei dati di elaborazione richiesti.
 
'''Task Tracker''': è il nodo slave per il Job Tracker e prenderà l'attività dal Job Tracker. Riceve anche il codice dal Job Tracker. Task Tracker prenderà il codice e lo applicherà al file. Il processo di applicazione di quel codice sul file è noto come Mapper.<ref>{{CiteCita web |url=https://hadoop.apache.org/DOCS/R2.7.5/HADOOP-PROJECT-DIST/HADOOP-HDFS/HDFSUSERGUIDE.HTML |titletitolo=Archived copy |access-dateaccesso=19 Junegiugno 2020 |archive-urlurlarchivio=https://web.archive.org/web/20191023001222/http://hadoop.apache.org/docs/r2.7.5/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html |archive-date=23 October 2019 |url-statusurlmorto=deadsi }}</ref>
 
Hadoop supporta anche:
Riga 90:
Tra le distribuzioni più note troviamo:
* [https://www.cloudera.com/products/open-source/apache-hadoop/key-cdh-components.html Cloudera distribution, including Hadoop] una distribuzione open source che include i principali pacchetti usati per Hadoop;
* [https://www.cloudera.com/downloads/hdp.html Hortonworks Data Platform] distribuzione Open Source, dismessa a seguito della fusione con Cloudera;
* [{{Cita web |url=https://mapr.com/products/mapr-converged-data-platform/ |titolo=The MapR Converged Data Platform] |urlarchivio=https://web.archive.org/web/20180521103749/https://mapr.com/products/mapr-converged-data-platform/ }} una distribuzione commerciale, acquisita da HPE<ref>[https://www.hpe.com/us/en/newsroom/press-release/2019/08/hpe-advances-its-intelligent-data-platform-with-acquisition-of-mapr-business-assets.html HPE advances its intelligent data platform with acquisition of MapR business assets]</ref>;
* [{{Cita web |url=https://e.huawei.com/ae/solutions/cloud-computing/big-data |titolo=Huawei FusionInsight] |urlarchivio=https://web.archive.org/web/20191029222026/https://e.huawei.com/ae/solutions/cloud-computing/big-data }} una distribuzione commerciale.
 
;Distribuzioni cloud
È possibile usufruire di cluster Hadoop già installati e configurati in cloud, tra le principali opzioni ci sono:
* [https://aws.amazon.com/it/emr/features/hadoop/ Amazon Elastic Map Reduce] in cui è possibile utilizzare Hive, Pig, Hue, Ganglia, Oozie e HBase ed eseguire Spark e Presto;
* [https://azure.microsoft.com/it-it/services/hdinsight/ Azure HDInsight] che permette di eseguire Apache Hadoop, Spark, Hive, Kafka;
* [https://cloud.google.com/dataproc/docs/concepts/components/overview Google cloud Dataproc] permette l'utilizzo di vari componenti di Hadoop: Hive, HBase, Flink, Presto;
* [https://www.alibabacloud.com/product/emapreduce Alibaba Cloud E-MapReduce] permette l'uso di Apache Hive, Apache Kafka, Flink, Druid, e TensorFlow.
 
== Differenza tra Hadoop 1 e Hadoop 2 ==
Line 124 ⟶ 131:
*[[Apache Cassandra]]
*[[File system distribuito]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|url=https://hadoop.apache.org/|titolo= Sito di Hadoop|lingua=en}}
 
{{Apache}}