Kafka Hadoop Integration | Integrazione di Hadoop con Kafka

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

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:

Kafka-Hadoop integration

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:

Integrazione Kafka - Hadoop

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

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.

Conclusione: Integrazione di Kafka Hadoop

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.