Rimani aggiornato con le ultime tendenze tecnologiche
Unisciti a DataFlair su Telegram!!
Integrazione di Kafka con Hadoop
Oggi, in questo tutorial di Kafka Hadoop, discuteremo l’integrazione di Kafka Hadoop. Inoltre, inizieremo questo tutorial con Hadoop Introduzione. Inoltre, vedremo Hadoop Produttore e Hadoop consumatore in Kafka Integrazione con Hadoop.
Fondamentalmente, possiamo integrare Kafka con la tecnologia Hadoop per affrontare diversi casi d’uso, come l’elaborazione batch utilizzando Hadoop. Quindi, in questo articolo, “Kafka Hadoop integration” impareremo la procedura per integrare Hadoop con Kafka in modo più semplice ed efficiente. Tuttavia, prima di integrare Kafka con Hadoop, è importante imparare la breve introduzione di Hadoop.
Quindi, iniziamo l’integrazione di Kafka Hadoop.
Integrazione Kafka Hadoop
Che cos’è Hadoop?
Un framework di elaborazione batch distribuito su larga scala che utilizza per parallelizzare l’elaborazione dei dati tra molti nodi e affronta anche le sfide per il calcolo distribuito, inclusi i big data, è ciò che chiamiamo Hadoop.
Fondamentalmente, funziona sul principio del framework MapReduce introdotto da Google. Offre una semplice interfaccia per la parallelizzazione e la distribuzione di calcoli su larga scala. Inoltre, ha un proprio filesystem di dati distribuiti che chiamiamo come HDFS (Hadoop Distributed File System). Per comprendere HDFS, divide i dati in piccoli pezzi (chiamati blocchi) e li distribuisce ulteriormente a tutti i nodi in qualsiasi cluster Hadoop tipico. Inoltre, crea la replica di questi piccoli pezzi di dati e li memorizza per garantire che i dati siano disponibili da un altro nodo se un nodo è inattivo.
Ora, ecco un’immagine che mostra la vista di alto livello di un cluster Hadoop multi-nodo:
Hadoop Multinode Cluster
a. Componenti principali di Hadoop
Di seguito sono riportati i componenti Hadoop:
- Nodo nome
Un singolo punto di interazione per HDFS è quello che chiamiamo Namenode. Come suo lavoro, mantiene le informazioni sui piccoli pezzi (blocchi) di dati che sono distribuiti tra i nodi.
- Nomenode secondario
In caso di errore del nodo nome, memorizza i registri di modifica, per ripristinare l’ultimo stato aggiornato di HDFS.
- Nodo dati
Mantiene i dati effettivi distribuiti dal namenode in blocchi e mantiene la copia replicata dei dati da altri nodi.
- Job Tracker
Per dividere i lavori MapReduce in attività più piccole, Job Tracker aiuta.
- Task Tracker
Mentre, per l’esecuzione delle attività divise dal job tracker, il task tracker è responsabile.
Tuttavia, assicurarsi che il task tracker e i nodi di dati condividano le stesse macchine.
Verificare quanto si conosce su Hadoop
Kafka Hadoop Integrazione
per costruire una pipeline che è disponibile per l’elaborazione in tempo reale o di monitoraggio nonché per caricare i dati in Hadoop, NoSQL, o di data warehousing sistemi per l’elaborazione offline e reporting, specialmente in tempo reale publish-subscribe uso dei casi, si tratta di Kafka.
a. Hadoop producer
Per pubblicare i dati da un cluster Hadoop a Kafka, un produttore Hadoop offre un bridge che puoi vedere nell’immagine qui sotto:
Inoltre, gli argomenti Kafka sono considerati come URI, per un produttore Kafka. Anche se, gli Uri sono di seguito specificate, per la connessione a una specifica Kafka broker:
kafka://<kafka-broker>/<kafka-argomento>
Beh, per ottenere i dati da Hadoop, Hadoop codice produttore suggerisce due possibili approcci, sono:
- Utilizzando il Maiale script e la scrittura dei messaggi nel Avro formato
Fondamentalmente, per la scrittura di dati in un file binario Avro formato, Kafka produttori di Maiale script, in questo approccio. Qui ogni riga si riferisce a un singolo messaggio. Inoltre, la classe AvroKafkaStorage sceglie lo schema Avro come primo argomento e quindi si connette all’URI Kafka, al fine di spingere i dati nel cluster Kafka. Inoltre, possiamo facilmente scrivere su più argomenti e broker nello stesso lavoro basato su script Pig, utilizzando il produttore AvroKafkaStorage.
- Utilizzo della classe Kafka OutputFormat per i lavori
Ora, nel secondo metodo, per la pubblicazione dei dati nel cluster Kafka, viene utilizzata la classe Kafka OutputFormat (estende la classe OutputFormat di Hadoop). Qui, utilizzando metodi di pubblicazione di basso livello, pubblica i messaggi come byte e offre anche il controllo sull’output. Sebbene, per scrivere un record (messaggio) in un cluster Hadoop, la classe Kafka OutputFormat utilizza la classe KafkaRecordWriter.
Inoltre, possiamo anche configurare i parametri del produttore Kafka e le informazioni del broker Kafka sotto la configurazione di un lavoro, per i produttori Kafka.
b. Hadoop Consumer
Mentre, un lavoro Hadoop che estrae i dati dal broker Kafka e li spinge ulteriormente in HDFS, è ciò che chiamiamo un consumatore Hadoop. Anche se, da immagine sottostante potrete vedere la posizione di un Kafka Consumatore in architettura modello:
Kafka Hadoop integrazione con Hadoop Consumatore
Come un processo, un Hadoop processo parallelo di caricamento da Kafka a HDFS anche alcuni mappatori per scopo di caricamento dei dati, che dipende dal numero di file nella directory di input. Inoltre, i dati provenienti da Kafka e gli offset degli argomenti aggiornati si trovano nella directory di output. Inoltre, alla fine dell’attività mappa, i singoli mappatori scrivono l’offset dell’ultimo messaggio consumato su HDFS. Tuttavia, ogni mapper si riavvia semplicemente dagli offset memorizzati in HDFS, se un lavoro fallisce e i lavori vengono riavviati.
Quindi, questo era tutto nell’integrazione di Kafka Hadoop. Spero che ti piaccia la nostra spiegazione.