Inicio Rápido de Watcher & Node-RED a Kafka

Parte 1. ¿Qué es Kafka?
Apache Kafka es una plataforma de transmisión de eventos distribuida diseñada para el procesamiento de datos de alto rendimiento y tolerante a fallos. Permite feeds de datos en tiempo real al permitir que los productores publiquen mensajes en temas, mientras que los consumidores pueden suscribirse a estos temas para procesar los datos. Kafka se usa ampliamente para construir pipelines de datos, análisis en tiempo real e integrar varias fuentes de datos. Su arquitectura robusta garantiza escalabilidad y durabilidad, convirtiéndolo en una opción popular para aplicaciones modernas basadas en datos.
Parte 2. Construir clúster Kafka en Docker
¿Por qué usar Docker? Porque Docker puede simular el entorno de múltiples computadoras en una sola máquina y desplegar aplicaciones con gran facilidad. Por lo tanto, en este proyecto, usaremos Docker para configurar el entorno y mejorar la eficiencia.
Paso 1. Descargar Docker
Según tu computadora, descarga diferentes tipos de instalador. Haz clic aquí para ir.

Si tu computadora es Windows, por favor no instales docker hasta que termines el Paso 2.
Paso 2. Instalar WSL(Subsistema de Windows para Linux)
Este paso es para Windows. Puedes omitir este paso si tu computadora es Mac o Linux.
- Ejecuta el siguiente código como administrador.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
Descarga esta herramienta desde aquí y haz doble clic para instalarla.
-
Ve a tu Microsoft Store para buscar y descargar la versión de linux que te guste, aquí instalé Ubuntu.

- Después de instalar Linux, necesitas abrirlo y configurar tu nombre de usuario y contraseña, y luego necesitas esperar un minuto para que se inicialice.

- Ejecuta las siguientes instrucciones para usar WSL.

- Después de instalar WSL, ahora puedes hacer doble clic en tu instalador de docker para instalarlo. Cuando veas la siguiente imagen significa que funciona.

Paso 3. Construir imagen de Kafka y ejecutar
- Encuentra un lugar para crear el archivo docker-compose.yml y copia los siguientes códigos en él.

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
- Ejecutar Kafka en contenedor y acceder a él
docker-compose up -d
docker exec -it kafka /bin/bash

- Crea un nuevo tema, produce algo y consume algo. Para probar si Kafka funciona bien.
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. Ejecutar el módulo de mensajes Kafka en Node-RED
Paso 4. Instalar el módulo de mensajes Kafka
- Haz clic en Manage palette. Si aún no has instalado Node_RED, por favor haz clic aquí.

- Busca kafka-manager e instálalo

Paso 5. Configurar el módulo de mensajes Kafka
- Arrastra esos módulos (inject, kafka producer, kafka consumer, debug) al espacio de trabajo

- Haz doble clic en Kafka Producer para configurarlo. Cuando hagas el paso 3, debes agregar un nuevo broker.

- Haz doble clic en Kafka Consumer para configurarlo como se muestra a continuación.


- Cuando termines la configuración, haz clic en el botón Deploy para desplegarlo.

Para cualquier cambio, debes hacer clic en el botón Deploy.
- Haz clic en el botón cuadrado para enviar una marca de tiempo y probar si todo el proceso funciona. Si funciona bien, deberías recibir la marca de tiempo en el extremo del kafka consumer.

Parte 4. Ejecutar una tarea en Watcher
- Primero que todo, necesitas ejecutar una tarea en Watcher siguiendo el video a continuación. Si quieres saber más por favor haz clic aquí.
- Cuando termines de ejecutar una tarea en watcher, debes consultar este enlace para enviar mensajes de watcher a Node-RED.
Parte 5. Recibir datos en Kafka
- Reemplaza el módulo timestamp por los módulos OpenStream y function y haz doble clic para configurarlos. Recuerda desplegarlo.
node.send({ payload: msg.payload.value[0].content });
node.send({ payload: msg.payload.value[0].image_url });

- Ejecuto un modelo de Detección de Personas en Watcher. Así que cuando Watcher detecte personas enviará un mensaje a Kafka y verás la foto cuando abras el enlace.

¡Felicitaciones por completar la aplicación de watcher a Kafka! Hay una gran cantidad de características útiles en Kafka esperando que las explores. ¡Sigue con el excelente trabajo y sumérgete en las emocionantes posibilidades que te esperan!
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.