rămâneți la curent cu cele mai recente tendințe tehnologice
Alăturați-vă DataFlair pe telegramă!!
integrarea Kafka cu Hadoop
astăzi, în acest Tutorial Kafka Hadoop, vom discuta despre integrarea Kafka Hadoop. Mai mult decât atât, vom începe acest tutorial cu Hadoop Introducere. De asemenea, vom vedea producătorul Hadoop și consumatorul Hadoop în integrarea Kafka cu Hadoop.
practic, putem integra Kafka cu tehnologia Hadoop pentru a aborda diferite cazuri de utilizare, cum ar fi procesarea lotului folosind Hadoop. Deci, în acest articol, „integrarea Kafka Hadoop” vom învăța procedura de integrare a Hadoop cu Kafka într-un mod mai ușor și mai eficient. Cu toate acestea, înainte de a integra Kafka cu Hadoop, este important să învățați scurta introducere a Hadoop.
deci, să începem integrarea Kafka Hadoop.
integrare Kafka Hadoop
ce este Hadoop?
un cadru de procesare a loturilor distribuite pe scară largă, care utilizează pentru a paraleliza prelucrarea datelor între multe noduri și, de asemenea, abordează provocările pentru calculul distribuit, inclusiv big data, este ceea ce numim Hadoop.
practic, funcționează pe principiul cadrului MapReduce care este introdus de Google. Acesta oferă o interfață simplă pentru paralelizarea, precum și distribuția calculelor pe scară largă. În plus, are propriul sistem de fișiere de date distribuite pe care îl numim HDFS (Hadoop Distributed File System). Pentru a înțelege HDFS, împarte datele în bucăți mici (numite blocuri) și le distribuie în continuare tuturor nodurilor din orice cluster tipic Hadoop. Mai mult decât atât, se creează replicarea acestor bucăți mici de date, precum și le stochează pentru a se asigura că datele sunt disponibile de la un alt nod, dacă orice nod este în jos.
acum, aici este o imagine care arată vizualizarea la nivel înalt a unui cluster Hadoop multi-nod:
Hadoop Multinode Cluster
a. Principalele componente ale Hadoop
următoarele sunt componentele Hadoop:
- nod nume
un singur punct de interacțiune pentru HDFS este ceea ce noi numim Namenode. Ca loc de muncă, păstrează informațiile despre piesele mici (blocuri) de date care sunt distribuite între nod.
- Namenode secundar
în cazul unei defecțiuni nod nume, stochează jurnalele de editare, pentru a restabili cea mai recentă stare actualizată a HDFS.
- nod de date
păstrează datele reale care sunt distribuite de namenode în blocuri, precum și păstrează copia reprodusă a datelor din alte noduri.
- Job Tracker
pentru a împărți joburile MapReduce în sarcini mai mici, Job Tracker ajută.
- Task Tracker
în timp ce, pentru executarea sarcinilor împărțite de Job tracker, Task tracker este responsabil.
cu toate acestea, asigurați-vă că trackerul de activități și nodurile de date împărtășesc aceleași mașini.
verificați cât de multe știți despre Hadoop
integrarea Kafka Hadoop
pentru a construi o conductă disponibilă pentru procesare sau monitorizare în timp real, precum și pentru a încărca datele în Hadoop, NoSQL sau sisteme de depozitare a datelor pentru procesare și raportare offline, în special pentru cazurile de utilizare în timp real, folosim Kafka.
a. Producător Hadoop
pentru a publica datele dintr-un cluster Hadoop către Kafka, un producător Hadoop oferă o punte pe care o puteți vedea în imaginea de mai jos:
mai mult, subiectele Kafka sunt considerate uri, pentru un producător Kafka. Deși, uri-urile sunt specificate mai jos, pentru a vă conecta la un anumit broker Kafka:
kafka: / / < Kafka-broker> / < Kafka-topic>
Ei bine, pentru a obține datele de la Hadoop, codul producătorului Hadoop sugerează două abordări posibile, acestea sunt:
- folosind scriptul Pig și scriind mesaje în format Avro
practic, pentru scrierea datelor într-un format Avro binar, producătorii Kafka folosesc scripturi Pig, în această abordare. Aici fiecare rând se referă la un singur mesaj. Mai mult, Clasa AvroKafkaStorage alege schema Avro ca prim argument și apoi se conectează la Kafka URI, pentru a împinge datele în clusterul Kafka. Mai mult decât atât, putem scrie cu ușurință la mai multe subiecte și brokeri în același loc de muncă bazat pe script-ul de porc, prin utilizarea producătorului AvroKafkaStorage.
- folosind clasa Kafka OutputFormat pentru joburi
acum, în a doua metodă, pentru publicarea datelor în clusterul Kafka, se folosește clasa Kafka OutputFormat (extinde clasa Outputformat a Hadoop). Aici, folosind metode de publicare la nivel scăzut, publică mesaje ca octeți și oferă, de asemenea, control asupra ieșirii. Deși, pentru scrierea unei înregistrări (mesaj) într-un cluster Hadoop, clasa Kafka OutputFormat folosește clasa KafkaRecordWriter.
în plus, putem configura parametrii producătorului Kafka și informațiile brokerului Kafka în configurația unui loc de muncă, pentru producătorii Kafka.
B. Hadoop Consumer
întrucât, un loc de muncă Hadoop care trage date de la broker Kafka și împinge în continuare în HDFS, este ceea ce noi numim un consumator Hadoop. Deși, din imaginea de mai jos, puteți vedea poziția unui consumator Kafka în modelul de arhitectură:
integrarea Kafka Hadoop – Hadoop Consumer
ca proces, o lucrare Hadoop efectuează încărcarea paralelă de la Kafka la HDFS, de asemenea, unele mappers în scopul încărcării datelor care depind de numărul de fișiere din Directorul de intrare. Mai mult, datele provenite de la Kafka și compensările subiect actualizate se află în directorul de ieșire. Mai mult, la sfârșitul sarcinii de hartă, mapatorii individuali scriu compensarea ultimului mesaj consumat către HDFS. Cu toate acestea, fiecare mapper repornește pur și simplu din compensările stocate în HDFS, dacă un job eșuează și joburile se repornesc.
deci, totul a fost în integrarea Kafka Hadoop. Sper că vă place explicația noastră.