Apache Hadoop: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m smistamento lavoro sporco e fix vari |
|||
Riga 20:
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].
HDFS viene utilizzato per l'archiviazione dei dati e MapReduce viene utilizzato per l'elaborazione dei dati. HDFS ha cinque servizi.
I primi tre sono servizi master/demoni/nodi e gli ultimi due sono servizi slave. I servizi Master possono comunicare tra loro e allo stesso modo i servizi Slave possono comunicare tra loro. Name Node è un nodo master e Data node è il corrispondente nodo Slave e può comunicare tra loro.
'''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 HDFS 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>{{cite book|title=Data Science from Scratch. First Principles with Python|url=https://python.engineering/data-science-from-scratch-first-principles-with-python/|publisher=O'Reilly|date=2019|ISBN=9781492041139|}}</ref><ref>{{Cite web|last=Balram|title=Big Data Hadoop Tutorial for Beginners|url=https://www.gyansetu.in/big-data-hadoop-tutorial-for-beginners|access-date=2021-03-11|website=www.gyansetu.in|language=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>{{Cite web |url=https://hadoop.apache.org/DOCS/R2.7.5/HADOOP-PROJECT-DIST/HADOOP-HDFS/HDFSUSERGUIDE.HTML |title=Archived copy |access-date=19 June 2020 |archive-url=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-status=dead }}</ref>
Hadoop supporta anche:
|