Skip to content

Latest commit

 

History

History
131 lines (99 loc) · 5.29 KB

README.md

File metadata and controls

131 lines (99 loc) · 5.29 KB

Kafka 101

Recursos y pasos importantes para el curso

Antes del curso

Es importante que antes del curso se estudie por cuenta propia los siguientes recursos:

💻 Actividades

Antes de empezar ❗

Para realizar este curso es importante tener instalado los siguientes programas:

Para la instalación en Windows seguir el siguiente video:

Kafka CLI (Command Line Interface) 101

Una vez que Kafka fue descargado e instalado, procederemos a validar que este bien instalado para comenzar las pruebas

PASO 1: Iniciar ZooKeeper service y Kafka Server

Abrimos una terminal y nos movemos al directorio donde se descargo Kafka (ej. C:/Downloads/kafka_2.13-3.2.1)

# Iniciamos Zookeeper (Zookeeper sera nuestra herramienta aunada a Kafka para mantener los logs/mensajes guardados)

bin/zookeeper-server-start.sh config/zookeeper.properties 

# para Windows  
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

# si todo funciona bien, nos saldra un log parecido a 
# INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper...)
# En caso de falla, usualmente es porque el puerto 2181 esta ocupado y debemos cambiar el puerto editando el archivo de zookeeper.properties y modificando el puerto

Luego abrimos una segunda terminal, y nos movemos de nuevo al directorio de kafka

# Inicializamos el server de kafka con el comando
bin/kafka-server-start.sh config/server.properties

# para Windows
.\bin\windows\kafka-server-start.bat .\config\server.properties
# si se inicializa bien veremos el log 
# INFO [KafkaServer id=0] started (kafka.server....)

PASO 2: Crear un TOPIC para guardar los eventos

Actualmente tenemos corriendo dos servicios, Zookeeper que trabaja de la mano de Kafka para guardar los logs (como si fuera nuestra Base de datos) y el server de Kafka

Ahora en una tercera terminal hacemos lo siguiente

bin/kafka-topics.sh --create --topic <topic-name> --bootstrap-server localhost:<kafka-server-port>
# el puerto base para el server de kafka suele ser el 9092

# para Windows
.\bin\windows\kafka-topics.bat --create --topic <topic-name> --bootstrap-server localhost:<kafka-server-port>
# .\bin\windows\kafka-topics.bat --create --topic topic_demo --bootstrap-server localhost:9092

Al crear el TOPIC nos saldra un log similar a: Created topic <topic-name>

Para validar que se creo el TOPIC podemos utilizar el comando --describe que nos indica como esta creado el topico o el comando --list que nos muestra la lista de topicos creados en Kafka

# describe
bin/kafka-topics.sh --describe --topic <topic-name> --bootstrap-server localhost:<kafka-server-port>

# list
bin/kafka-topics.sh --list --bootstrap-server localhost:<kafka-server-port>

Para crear un TOPIC con particiones en especifico usar el comando

bin/kafka-topics.sh --create --topic <topic-name> --partitions <#_particiones> --bootstrap-server localhost:<kafka-server-port>

PASO 3: Escribir eventos en el TOPIC

bin/kafka-console-producer.sh --topic <topic-name> --bootstrap-server localhost:<kafka-server-port> 
> <type-data>
> <type-data>
> <type-data>

# para Windows
.\bin\windows\kafka-console-producer.bat --topic <topic-name> --bootstrap-server localhost:<kafka-server-port> 
> <data>
> <data>
> <data>

(No cerrar la terminal de este paso)

PASO 4: Leer los eventos del TOPIC

Abrimos una terminal nueva (sin cerrar la terminal del paso 3)

bin/kafka-console-consumer.sh --topic <topic-name> --bootstrap-server localhost:<kafka-server-port> 

# para Windows
.\bin\windows\kafka-console-consumer.bat --topic <topic-name> --bootstrap-server localhost:<kafka-server-port> 

Añadir la flag --from-beginning despues del nombre del topic

.\bin\windows\kafka-console-consumer.bat --topic <topic-name> --from-beginning --bootstrap-server localhost:<kafka-server-port> 

Alt text

Practica

La practica y ejercicios las podemos encontrar en el directorio de practica

📚 Para aprender mas