fique atualizado com as últimas tendências tecnológicas
Junte-se ao DataFlair no Telegram!!
integração do Kafka com o Hadoop
hoje, neste Tutorial do Kafka Hadoop, discutiremos a integração do Kafka Hadoop. Além disso, iniciaremos este tutorial com a introdução do Hadoop. Além disso, veremos o Hadoop Producer e o Hadoop Consumer na integração do Kafka com o Hadoop.
Basicamente, podemos integrar o Kafka à tecnologia Hadoop para abordar diferentes casos de uso, como processamento em lote usando o Hadoop. Portanto, neste artigo, “integração do Kafka Hadoop”, aprenderemos o procedimento para integrar o Hadoop ao Kafka de maneira mais fácil e eficiente. No entanto, antes de integrar o Kafka ao Hadoop, é importante aprender a breve introdução do Hadoop.
então, vamos começar a integração do Kafka Hadoop.
integração Kafka Hadoop
o que é Hadoop?
uma estrutura de processamento de lote distribuído em grande escala que usa para paralelizar o processamento de dados entre muitos nós e também aborda os desafios da computação distribuída, incluindo big data, é o que chamamos de Hadoop.
Basicamente, ele funciona com base no princípio da estrutura MapReduce, que é introduzida pelo Google. Ele oferece uma interface simples para a paralelização, bem como a distribuição de cálculos em grande escala. Além disso, ele tem seu próprio sistema de arquivos de dados distribuídos que chamamos de HDFS (Hadoop Distributed File System). Para entender o HDFS, ele divide os dados em pequenos pedaços (chamados blocos) e os distribui para todos os nós em qualquer cluster Hadoop típico. Além disso, ele cria a replicação desses pequenos pedaços de dados, bem como os armazena para garantir que os dados estejam disponíveis de outro nó, se algum nó estiver inativo.
Agora, aqui está uma imagem mostrando a visão de alto nível de um sistema de multi-nó de cluster Hadoop:
Hadoop Multinode Cluster
um. Principais Componentes do Hadoop
Seguir estão os Componentes do Hadoop:
- nó de nome
um único ponto de interação para HDFS é o que chamamos de Namenode. Como seu trabalho, ele mantém as informações sobre os pequenos pedaços (blocos) de dados que são distribuídos entre nó.
- nome secundário
em caso de falha de nó de nome, ele armazena os logs de edição, para restaurar o estado atualizado mais recente do HDFS.
- Data Node
ele mantém os dados reais que são distribuídos pelo namenode em blocos, bem como mantém a cópia replicada de dados de outros nós.
- Job Tracker
para dividir os trabalhos MapReduce em tarefas menores, o Job Tracker ajuda.
- Rastreador de Tarefas
Considerando que, para a execução de tarefas divididas pelo rastreador de tarefas, o rastreador de Tarefas é responsável.
no entanto, certifique-se de que o rastreador de tarefas e os nós de dados compartilham as mesmas máquinas.
Confira o quanto você sabe sobre Hadoop
Kafka Hadoop Integração
para construir um gasoduto que está disponível para o processamento em tempo-real ou monitoramento, bem como para carregar os dados no Hadoop, NoSQL, ou de armazenamento de dados de sistemas para processamento off-line e relatórios, especialmente em tempo real publish-subscribe casos de uso, usamos Kafka.
A. Hadoop producer
para publicar os dados de um Cluster Hadoop no Kafka, um produtor Hadoop oferece uma ponte que você pode ver na imagem abaixo:
além disso, os tópicos Kafka são considerados URIs, para um produtor Kafka. Embora, os URIs são especificados a seguir, para conectar-se a um determinado Kafka corretor:
kafka://<kafka-corretor>/<kafka tópico>
Bem, para obter os dados do Hadoop, o Hadoop código do produtor sugere duas abordagens possíveis, eles são:
- Usando o script do Pig e escrever mensagens no Avro formato
Basicamente, para escrever dados em um binário de Avro formato, Kafka produtores usam scripts do Pig, nesta abordagem. Aqui cada linha se refere a uma única mensagem. Além disso, a classe AvroKafkaStorage escolhe o esquema Avro como seu primeiro argumento e, em seguida, se conecta ao Kafka URI, a fim de empurrar os dados para o cluster Kafka. Além disso, podemos escrever facilmente para vários tópicos e corretores no mesmo trabalho baseado em script Pig, usando o produtor AvroKafkaStorage.
- usando a classe Kafka OutputFormat para jobs
agora, no segundo método, para publicar dados no cluster Kafka, A classe Kafka OutputFormat (estende a classe OutputFormat do Hadoop) é usada. Aqui, usando métodos de publicação de baixo nível, publica mensagens como bytes e também oferece controle sobre a saída. Embora, para escrever um registro (mensagem) em um cluster Hadoop, a classe Kafka OutputFormat use a classe KafkaRecordWriter.Além disso, também podemos configurar os parâmetros do produtor Kafka e as informações do Corretor Kafka na configuração de um trabalho, para os produtores Kafka.
B. Hadoop Consumer
Considerando que, um trabalho Hadoop que extrai dados do corretor Kafka e o empurra ainda mais para o HDFS, é o que chamamos de consumidor Hadoop. No entanto, a partir imagem abaixo, você pode ver a posição de um Kafka Consumidor no padrão de arquitetura:
Kafka Hadoop integração – Hadoop Consumidor
Como um processo, um trabalho do Hadoop executar em paralelo carregamento de Kafka para o HDFS também alguns mappers para fins de carregamento de dados, que depende do número de arquivos no diretório de entrada. Além disso, os dados provenientes do Kafka e as compensações de tópicos atualizadas estão no diretório de saída. Além disso, no final da tarefa do mapa, mapeadores individuais escrevem o deslocamento da última mensagem consumida para HDFS. No entanto, cada mapeador simplesmente reinicia dos deslocamentos armazenados em HDFS, se um trabalho falhar e os trabalhos forem reiniciados.
então, tudo isso estava na integração do Kafka Hadoop. Espero que gostem da nossa explicação.