Pular para o conteúdo principal

Guia Rápido: Watcher & Node-RED para Kafka

Parte 1. O que é o Kafka

Apache Kafka é uma plataforma distribuída de streaming de eventos projetada para processamento de dados com alta taxa de transferência e tolerância a falhas. Ela permite fluxos de dados em tempo real, permitindo que produtores publiquem mensagens em tópicos, enquanto consumidores podem assinar esses tópicos para processar os dados. Kafka é amplamente utilizado para construir pipelines de dados, análises em tempo real e integração de várias fontes de dados. Sua arquitetura robusta garante escalabilidade e durabilidade, tornando-o uma escolha popular para aplicações modernas orientadas a dados.

Parte 2. Construir um cluster Kafka no Docker

Por que usar Docker? Porque o Docker pode simular o ambiente de vários computadores em uma única máquina e implantar aplicações com grande facilidade. Portanto, neste projeto, usaremos o Docker para configurar o ambiente e melhorar a eficiência.

Passo 1. Baixar o Docker

De acordo com o seu computador, baixe o tipo de instalador correspondente. Clique aqui para ir.

dica

Se o seu computador é Windows, não instale o Docker até concluir o Passo 2.

Passo 2. Instalar o WSL (Windows Subsystem for Linux)

dica

Este passo é para Windows. Você pode pular este passo se o seu computador for Mac ou Linux.

  1. Execute o código a seguir como administrador.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. Baixe esta ferramenta aqui e clique duas vezes para instalá-la.

  2. Vá até a Microsoft Store para buscar e baixar a versão de Linux que você quiser, aqui eu instalei Ubuntu.

  1. Depois de instalar o Linux, você precisa abri-lo e definir seu nome de usuário e senha, e então aguardar um minuto para inicializar.
  1. Execute os seguintes comandos para usar o WSL.
  1. Após instalar o WSL, agora você pode clicar duas vezes no instalador do Docker para instalá-lo. Quando você vir a imagem a seguir, isso significa que ele está funcionando.

Passo 3. Construir a imagem do Kafka e executar

  1. Encontre um local para criar o arquivo docker-compose.yml e copie os códigos a seguir para dentro dele.
services:
zookeeper:
image: wurstmeister/zookeeper ## image
container_name: zookeeper
ports:
- "2181:2181" ## Externally exposed port number
kafka:
image: wurstmeister/kafka ## image
container_name: kafka
volumes:
- ./volume:/volume ## Mounting location
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1 ## Host machine IP
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 ## Running Kafka is base to zookeeper
KAFKA_ADVERTISED_PORT: 9092
KAFKA_LOG_RETENTION_HOURS: 120
KAFKA_MESSAGE_MAX_BYTES: 10000000
KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000
KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: 60000
KAFKA_NUM_PARTITIONS: 3
KAFKA_DELETE_RETENTION_MS: 1000
kafka-manager:
image: sheepkiller/kafka-manager ## image: open source web manage interface about kafka cluster
container_name: kafka-manager
environment:
ZK_HOSTS: 127.0.0.1 ## host machine IP
ports:
- "9009:9000" ## exposed port
  1. Execute o Kafka no contêiner e acesse-o
docker-compose up -d

docker exec -it kafka /bin/bash
  1. Crie um novo tópico, produza algo e consuma algo. Para testar se o Kafka funciona bem.
kafka-topics.sh --create --topic watcher --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1

kafka-console-producer.sh --topic=watcher --broker-list kafka:9092

kafka-console-consumer.sh --bootstrap-server kafka:9092 --from-beginning --topic watcher

Parte 3. Executar o módulo de mensagens Kafka no Node-RED

Passo 4. Instalar o módulo de mensagens Kafka

  1. Clique em Manage palette. Se você ainda não instalou o Node-RED, clique aqui.
  1. Pesquise por kafka-manager e instale-o

Passo 5. Configurar o módulo de mensagens Kafka

  1. Arraste esses módulos (inject, kafka producer, kafka consumer, debug) para o espaço de trabalho
  1. Clique duas vezes em Kafka Producer para configurá-lo. Quando fizer o passo 3, você deve adicionar um novo broker.
  1. Clique duas vezes em Kafka Consumer para configurá-lo como abaixo.
  1. Quando terminar a configuração, clique no botão Deploy para implantá-la.
dica

Sempre que houver qualquer alteração, você deve clicar no botão Deploy.

  1. Clique no botão quadrado para enviar um carimbo de data/hora e testar se todo o processo funciona. Se funcionar bem, você deverá receber o carimbo de data/hora no lado do kafka consumer.

Parte 4. Executar uma tarefa no Watcher

  1. Antes de tudo, você precisa executar uma tarefa no Watcher seguindo o vídeo abaixo. Se quiser saber mais, clique aqui.
  1. Quando você terminar de executar uma tarefa no Watcher, você deve consultar este link para enviar a mensagem do Watcher para o Node-RED.

Parte 5. Receber dados no Kafka

  1. Substitua o módulo timestamp pelos módulos OpenStream e function e clique duas vezes para configurá-los. Lembre-se de fazer o Deploy.
node.send({ payload: msg.payload.value[0].content });

node.send({ payload: msg.payload.value[0].image_url });
  1. Eu executo um modelo de People Detection no Watcher. Então o Watcher enviará mensagens para o Kafka quando detectar pessoas e você verá a foto ao abrir o link.

Parabéns por concluir a aplicação de Watcher para Kafka! Há uma grande variedade de recursos úteis no Kafka esperando para você explorar. Continue com o ótimo trabalho e mergulhe nas empolgantes possibilidades à frente!

Suporte Técnico & Discussão de Produtos

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...