En esta sección, aprenderemos cómo configurar Apache Kafka en tu entorno local. Este proceso incluye la descarga, instalación y configuración básica de Kafka y Zookeeper, que es un componente esencial para la gestión de clústeres de Kafka.
- Requisitos Previos
Antes de comenzar, asegúrate de tener los siguientes requisitos:
- Java Development Kit (JDK) 8+: Kafka está escrito en Java, por lo que necesitarás tener instalado JDK 8 o superior.
- Apache Kafka: La última versión de Kafka.
- Apache Zookeeper: Kafka utiliza Zookeeper para la coordinación de clústeres.
- Descarga de Kafka y Zookeeper
-
Descargar Kafka:
- Visita la página de descargas de Apache Kafka.
- Descarga la versión binaria más reciente de Kafka.
-
Descargar Zookeeper:
- Zookeeper viene incluido con la descarga de Kafka, por lo que no necesitas descargarlo por separado.
- Instalación de Kafka y Zookeeper
-
Extraer los archivos:
- Extrae el archivo descargado de Kafka en una ubicación de tu elección. Por ejemplo, en Linux o macOS:
tar -xzf kafka_2.13-2.8.0.tgz cd kafka_2.13-2.8.0
- Extrae el archivo descargado de Kafka en una ubicación de tu elección. Por ejemplo, en Linux o macOS:
-
Configurar Zookeeper:
- Zookeeper se puede iniciar con la configuración predeterminada. Para iniciar Zookeeper, ejecuta el siguiente comando desde el directorio de Kafka:
bin/zookeeper-server-start.sh config/zookeeper.properties
- Zookeeper se puede iniciar con la configuración predeterminada. Para iniciar Zookeeper, ejecuta el siguiente comando desde el directorio de Kafka:
-
Configurar Kafka:
- Una vez que Zookeeper esté en funcionamiento, puedes iniciar el servidor Kafka con la configuración predeterminada:
bin/kafka-server-start.sh config/server.properties
- Una vez que Zookeeper esté en funcionamiento, puedes iniciar el servidor Kafka con la configuración predeterminada:
- Verificación de la Instalación
Para asegurarte de que Kafka y Zookeeper están funcionando correctamente, puedes realizar las siguientes verificaciones:
-
Verificar Zookeeper:
- Abre un nuevo terminal y ejecuta:
echo ruok | nc localhost 2181
- Deberías recibir una respuesta
imok
, lo que indica que Zookeeper está funcionando correctamente.
- Abre un nuevo terminal y ejecuta:
-
Verificar Kafka:
- En otro terminal, crea un nuevo tema en Kafka:
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
- Lista los temas para verificar que el tema
test
se ha creado:bin/kafka-topics.sh --list --bootstrap-server localhost:9092
- En otro terminal, crea un nuevo tema en Kafka:
- Ejemplo Práctico: Producción y Consumo de Mensajes
Para asegurarte de que Kafka está funcionando correctamente, puedes producir y consumir mensajes.
-
Iniciar un productor:
- En un nuevo terminal, ejecuta:
bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
- Escribe algunos mensajes y presiona Enter después de cada uno.
- En un nuevo terminal, ejecuta:
-
Iniciar un consumidor:
- En otro terminal, ejecuta:
bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092
- Deberías ver los mensajes que escribiste en el productor.
- En otro terminal, ejecuta:
- Ejercicio Práctico
Ejercicio: Configura Kafka y Zookeeper en tu máquina local y realiza las siguientes tareas:
- Inicia Zookeeper y Kafka.
- Crea un tema llamado
my_topic
. - Produce y consume mensajes en
my_topic
.
Solución:
-
Inicia Zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
-
Inicia Kafka:
bin/kafka-server-start.sh config/server.properties
-
Crea un tema:
bin/kafka-topics.sh --create --topic my_topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
-
Inicia un productor:
bin/kafka-console-producer.sh --topic my_topic --bootstrap-server localhost:9092
-
Inicia un consumidor:
bin/kafka-console-consumer.sh --topic my_topic --from-beginning --bootstrap-server localhost:9092
Conclusión
En esta sección, hemos cubierto los pasos necesarios para configurar Apache Kafka y Zookeeper en tu entorno local. Ahora deberías ser capaz de iniciar ambos servicios, crear temas y producir y consumir mensajes. En el próximo módulo, profundizaremos en los conceptos básicos de Kafka, como productores, consumidores, temas y particiones.
Curso de Kafka
Módulo 1: Introducción a Kafka
- ¿Qué es Kafka?
- Casos de Uso de Kafka
- Visión General de la Arquitectura de Kafka
- Configuración de Kafka
Módulo 2: Conceptos Básicos de Kafka
Módulo 3: Operaciones de Kafka
Módulo 4: Configuración y Gestión de Kafka
Módulo 5: Temas Avanzados de Kafka
- Ajuste de Rendimiento de Kafka
- Kafka en una Configuración Multi-Centro de Datos
- Kafka con Registro de Esquemas
- Kafka Streams Avanzado