Bądź na bieżąco z najnowszymi trendami technologicznymi
Dołącz do DataFlair na Telegramie!!
Integracja Kafki z Hadoop
dzisiaj w tym samouczku Kafka Hadoop omówimy integrację Kafki Hadoop. Co więcej, zaczniemy ten samouczek od wprowadzenia Hadoop. Ponadto zobaczymy Hadoop Producer i Hadoop Consumer w integracji Kafki z Hadoop.
zasadniczo możemy zintegrować Kafkę z technologią Hadoop w celu rozwiązania różnych przypadków użycia, takich jak przetwarzanie wsadowe przy użyciu Hadoop. Tak więc w tym artykule „Kafka Hadoop integration” poznamy procedurę integracji Hadoop z Kafką w łatwiejszy i efektywny sposób. Jednak przed integracją Kafki z Hadoop, ważne jest, aby nauczyć się krótkiego wprowadzenia Hadoop.
Zacznijmy więc od integracji Kafki Hadoop.
Integracja Kafka Hadoop
Co To jest Hadoop?
wielkoskalowe rozproszone przetwarzanie wsadowe, które wykorzystuje się do równoległego przetwarzania danych między wieloma węzłami, a także rozwiązuje wyzwania związane z przetwarzaniem rozproszonym, w tym big data, nazywamy Hadoop.
zasadniczo działa na zasadzie frameworka MapReduce wprowadzonego przez Google. Oferuje prosty interfejs do równoległości, a także dystrybucji obliczeń na dużą skalę. Ponadto posiada własny rozproszony system plików danych, który nazywamy HDFS (Hadoop Distributed File System). Aby zrozumieć HDFS, dzieli dane na małe kawałki (zwane blokami) i dalej rozprowadza je do wszystkich węzłów w dowolnym typowym klastrze Hadoop. Co więcej, tworzy replikację tych małych fragmentów danych, a także przechowuje je, aby zapewnić, że dane są dostępne z innego węzła, jeśli jakikolwiek węzeł jest wyłączony.
Oto obrazek pokazujący wysokopoziomowy widok klastra Hadoop z wieloma węzłami:
Klaster Hadoop Multinode
a. główne komponenty Hadoop
poniżej znajdują się Komponenty Hadoop:
- Name Node
pojedynczym punktem interakcji dla HDFS jest to, co nazywamy Namenode. Jako jego zadanie przechowuje informacje o małych kawałkach (blokach) danych, które są dystrybuowane między węzłami.
- dodatkowy kod nazw
w przypadku awarii węzła nazw przechowuje dzienniki edycji, aby przywrócić najnowszy zaktualizowany stan plików HDFS.
- węzeł danych
przechowuje rzeczywiste dane, które są dystrybuowane przez namenode w blokach, a także zachowuje replikowaną kopię danych z innych węzłów.
- Job Tracker
aby podzielić zadania MapReduce na mniejsze zadania, Job Tracker pomaga.
- Task Tracker
natomiast za wykonanie zadań podzielonych przez tracker zadań odpowiedzialny jest tracker zadań.
upewnij się jednak, że śledzenie zadań i węzły danych współdzielą te same maszyny.
Sprawdź, ile wiesz o Hadoopie
Kafka integracja z Hadoopem
w celu zbudowania potoku dostępnego do przetwarzania lub monitorowania w czasie rzeczywistym, a także załadowania danych do systemów Hadoop, NoSQL lub hurtowni danych do przetwarzania i raportowania offline, szczególnie w przypadku przypadków użycia publish-subscribe w czasie rzeczywistym, używamy Kafki.
a. producent Hadoop
aby opublikować dane z klastra Hadoop do Kafki, Producent Hadoop oferuje most, który można zobaczyć na poniższym obrazku:
co więcej, tematy Kafki są uważane za URI, dla producenta Kafki. Chociaż URI są określone poniżej, aby połączyć się z konkretnym brokerem Kafka:
kafka: / / < kafka-broker>/<kafka-topic>
cóż, aby uzyskać dane z Hadoop, Kod Producenta Hadoop sugeruje dwa możliwe podejścia, są to:
- używając skryptu Pig i pisząc wiadomości w formacie Avro
zasadniczo do zapisu danych w binarnym formacie Avro producenci Kafki używają skryptów Pig, w tym podejściu. Tutaj każdy wiersz odnosi się do pojedynczej wiadomości. Co więcej, Klasa AvroKafkaStorage wybiera schemat Avro jako swój pierwszy argument, a następnie łączy się z URI Kafki, aby wepchnąć dane do klastra Kafki. Co więcej, możemy łatwo pisać do wielu tematów i brokerów w tym samym świńskim skrypcie opartym na pracy, korzystając z avrokafkastorage producer.
- używanie klasy Kafka OutputFormat Dla zadań
teraz, w drugiej metodzie, do publikowania danych do klastra Kafka, używana jest klasa Kafka OutputFormat (extends Hadoop ’ s OutputFormat class). Tutaj, używając niskopoziomowych metod publikowania, publikuje wiadomości jako bajty, a także oferuje kontrolę nad wyjściem. Chociaż, do zapisu rekordu (Wiadomości) do klastra Hadoop, Klasa Kafka OutputFormat używa klasy KafkaRecordWriter.
ponadto możemy również skonfigurować parametry producenta Kafki i informacje brokera Kafki w konfiguracji zadania, dla producentów Kafki.
B. Hadoop Consumer
podczas gdy zadanie Hadoop, które pobiera dane z brokera Kafki i dalej wpycha je do HDFS, jest tym, co nazywamy konsumentem Hadoop. Jednak z poniższego obrazka widać pozycję konsumenta Kafki w architekturze:
Kafka Hadoop integration – Hadoop Consumer
jako proces, zadanie Hadoop wykonuje równoległe ładowanie z Kafki do HDFS również niektóre mapery w celu ładowania danych, które zależą od liczby plików w katalogu wejściowym. Co więcej, dane pochodzące z Kafki i zaktualizowane offsety tematu znajdują się w katalogu wyjściowym. Ponadto, na końcu zadania mapowego, poszczególni maperzy zapisują offset ostatniej zużytej Wiadomości do plików HDFS. Jednak każdy maper po prostu uruchamia się ponownie z przesunięć przechowywanych w HDFS, jeśli zadanie nie powiedzie się i zadania zostaną ponownie uruchomione.
więc to wszystko było w integracji Kafki Hadoop. Mam nadzieję, że podoba Ci się nasze Wyjaśnienie.