Cómo instalar Apache Kafka en Ubuntu 22.04

Cómo instalar Apache Kafka en Ubuntu 22.04

Apache Kafka es una plataforma de transmisión de eventos distribuida de código abierto desarrollada por Apache Software Foundation. Esto está escrito en lenguajes de programación de Scala y Java. Puede instalar kafka en cualquier plataforma que admita el lenguaje de programación Java.

Este tutorial le proporciona instrucciones paso a paso para instalar Apache Kafka en Ubuntu 22.04 Sistema LTS Linux. También aprenderá a crear temas en kafka y ejecutar nodos de productores y consumidores.

Requisitos previos

Debe tener acceso de cuenta privilegiado de sudo al Ubuntu 22.04 Sistema Linux.

Paso 1 - Instalación de Java

Podemos ejecutar el servidor Apache Kafka en sistemas que admiten Java. Así que asegúrese de tener Java instalado en su sistema Ubuntu.

Use los siguientes comandos para instalar OpenJDK en su sistema Ubuntu desde los repositorios oficiales.

Actualización de sudo apto  sudo apt instalación predeterminado-jdk  

Verifique la versión actual de Java activa.

Java -Versión  
Salida: OpenJDK versión "11.0.15 "2022-04-19 OpenJDK Runtime Environment (Build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1) OpenJDK de 64 bits VM (compilar 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, modo mixto, compartiendo) 

Paso 2 - Descargue el último Apache Kafka

Puede descargar los últimos archivos binarios Apache Kafka de su página de descarga oficial. Alternativaly puedes descargar kafka 3.2.0 con el siguiente comando.

wget https: // dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz  

Luego extraiga el archivo de archivo descargado y colóquelos en /usr/local/kafka directorio.

tar xzf kafka_2.13-3.2.0.tgz  sudo mv kafka_2.13-3.2.0/usr/local/kafka  

Paso 3 - Crear scripts de inicio de Systemd

Ahora, cree archivos de la unidad Systemd para los servicios Zookeeper y Kafka. Que lo ayudará a comenzar/detener el servicio Kafka de una manera fácil.

Primero, cree un archivo de la unidad Systemd para ZOOKEEPER:

sudo nano/etc/systemd/system/zookeeper.servicio  

Y agregue el siguiente contenido:

[Unidad] Descripción = Documentación del servidor ZOOKEEPER Apache = http: // Zookeepers.apache.org requiere = red.Target Remote-FS.Target After = Network.Target Remote-FS.Target [Service] Type = Simple Execstart =/usr/local/kafka/bin/Zookeeper-server-start.SH/USR/LOCAL/KAFKA/CONFIG/ZOOKEEPER.Properties Execstop =/usr/local/kafka/bin/Zookeeper-server-stop.sh reinsart = on-abnormal [install] Wantedby = Multi-user.objetivo 

Guarde el archivo y cierre.

A continuación, cree un archivo de la unidad Systemd para el servicio Kafka:

sudo nano/etc/systemd/system/kafka.servicio  

Agregue el contenido a continuación. Asegúrese de establecer el correcto Java_home ruta según el Java instalado en su sistema.

[Unidad] Descripción = Documentación del servidor Apache Kafka = http: // kafka.apache.organización/documentación.html requiere = ZOOKEEPER.servicio [servicio] type = simple entorno = "java_home =/usr/lib/jvm/java-11-openjdk-amd64" execstart =/usr/local/kafka/bin/kafka-server-start.sh/usr/local/kafka/config/servidor.Properties Execstop =/usr/local/kafka/bin/kafka-server-stop.sh [install] WantedBy = Multiuser.objetivo 

Guarde el archivo y cierre.

Recargar el Systemd Daemon para aplicar nuevos cambios.

SUDO SystemCtl-Daemon-Re-Re-Reload  

Esto recargará todos los archivos Systemd en el entorno del sistema.

Paso 4 - Inicie los servicios de Zookeeper y Kafka

Comencemos ambos servicios uno por uno. Primero, debe iniciar el servicio Zookeeper y luego comenzar Kafka. Use el comando SystemCTL para iniciar una instancia de Zookeeper de un solo nodo.

sudo systemctl iniciar zookeeper  sudo systemctl iniciar kafka  

Verifique ambos del estado de los servicios:

sudo systemctl status zookeeper  sudo systemctl status kafka  

Eso es todo. Ha instalado con éxito el servidor Apache Kafka en Ubuntu 22.04 sistema. A continuación, crearemos temas en el servidor Kafka.

Paso 5 - Crea un tema en Kafka

Kafka proporciona múltiples script de carcasa preconstruida para funcionar en él. Primero, cree un tema llamado "Testtopic" con una sola partición con réplica única:

CD/USR/Local/Kafka  bin/kafka-topics.sh --create --Bootstrap-server localhost: 9092--Repplication-Factor 1-Particiones 1-topictopic  
Salida creada Tema Testtopic. 

Aquí:

  • Usar --crear opción para crear un nuevo tema
  • El --factor de replicación describe cuántas copias de datos se crearán. Mientras estamos ejecutando con una sola instancia, mantenga este valor 1.
  • Selecciona el --particiones opciones como la cantidad de corredores que desea que se diviertan sus datos. Mientras estamos ejecutando con un solo corredor, mantenga este valor 1.
  • El --tema Defina el nombre del tema

Puede crear múltiples temas ejecutando el mismo comando que el anterior. Después de eso, puede ver los temas creados en Kafka mediante el comando Ejecutar a continuación:

bin/kafka-topics.SH-Lista-Bootstrap-server localhost: 9092  

La salida se parece a la siguiente captura de pantalla:

Listado de temas de Kafka

Alternativamente, en lugar de crear temas manualmente, también puede configurar a sus corredores para crear temas automáticos cuando se publica un tema inexistente para.

Paso 6: enviar y recibir mensajes en Kafka

El "productor" es el proceso responsable de poner datos en nuestro kafka. El kafka viene con un cliente de línea de comandos que tomará la entrada de un archivo o de la entrada estándar y la enviará como mensajes al clúster Kafka. El kafka predeterminado envía cada línea como un mensaje separado.

Ejecutemos el productor y luego escribamos algunos mensajes en la consola para enviar al servidor.

productor de comodín de bin/kafka.SH --Broker-List Localhost: 9092-Topic Testtopic  > Bienvenido a Kafka> Este es mi primer tema> 

Puede salir de este comando o mantener este terminal en ejecución para pruebas adicionales. Ahora abra un nuevo terminal al proceso de consumidor de Kafka en el siguiente paso.

Kafka también tiene un consumidor de línea de comandos para leer los datos del clúster Kafka y mostrar mensajes a la salida estándar.

contenedor.sh --bootstrap-server localhost: 9092--topic testtopic-desde el beginismo  Bienvenido a Kafka, este es mi primer tema 

Ahora, si todavía ha ejecutado el productor de Kafka en otra terminal. Simplemente escriba un texto en esa terminal del productor. inmediatamente será visible en la terminal del consumidor. Consulte la siguiente captura de pantalla del productor y consumidor de Kafka para trabajar:

Ejecutando el productor de Apache Kafka y el nodo de consumo

Conclusión

Este tutorial le ayudó a instalar y configurar el servidor Apache Kafka en un Ubuntu 22.04 Sistema Linux. Además, aprendió a crear un nuevo tema en el servidor Kafka y ejecutar una producción de muestra y un proceso de consumidor con Apache Kafka.