Cómo instalar Apache Kafka en Ubuntu 22.04

7 giu 2022 4 min di lettura
Cómo instalar Apache Kafka en Ubuntu 22.04
Tabla de contenidos

Introducción

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

Este tutorial proporciona instrucciones detalladas para instalar Apache Kafka en el sistema Linux Ubuntu 22.04 LTS.

Requisitos previos

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

Si desea instalar Apache Kafka en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita saber la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root escriba el siguiente comando:

ssh [email protected]_DEL_SERVER

A continuación, deberá ingresar la contraseña de usuario raíz.

Si no está usando el usuario raíz, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie la raíz a su nombre de usuario :

ssh [email protected]_DEL_SERVER

A continuación, se le pedirá que introduzca su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22 , si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p , luego escriba el siguiente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Instalar Java

Podemos ejecutar el servidor Apache Kafka en sistemas que admitan 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:

sudo apt update  
sudo apt install default-jdk 

Compruebe la versión activa actual de Java:

java --version 
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)

Descarga la última versión de Apache Kafka

Puede descargar los últimos binarios de Apache Kafka desde su página de descarga oficial . Alternativamente, puede 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 comprimido descargado y colóquelo en el directorio /usr/local/kafka :

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

Crear scripts de inicio de Systemd

Ahora, cree archivos unitarios systemd para los servicios Zookeeper y Kafka. Esto lo ayudará a iniciar / detener el servicio Kafka de una manera fácil.

Primero, cree un archivo de unidad systemd para Zookeeper:

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

Y agrega el siguiente contenido:

[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.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
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Guarde el archivo y ciérrelo.

Luego, cree un archivo de unidad systemd para el servicio Kafka:

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

Agregue el contenido a continuación. Asegúrese de configurar la ruta JAVA_HOME correcta de acuerdo con Java instalado en su sistema:

[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service

[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

Guarde el archivo y cierre.

Vuelva a cargar el demonio systemd para aplicar nuevos cambios:

sudo systemctl daemon-reload 

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

Inicie los servicios Zookeeper y Kafka

Comencemos ambos servicios uno por uno. Primero, debe iniciar el servicio ZooKeeper y luego iniciar Kafka. Utilice el comando systemctl para iniciar una instancia de ZooKeeper de un solo nodo.

sudo systemctl start zookeeper 
sudo systemctl start kafka 

Consulta los estados de ambos servicios:

sudo systemctl status zookeeper 
sudo systemctl status kafka 

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

Crear un tema en Kafka

Kafka proporciona múltiples scripts de shell predefinidos para trabajar. Primero, cree un tema llamado "testTopic" con una sola partición con una sola réplica:

cd /usr/local/kafka 
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testTopic 
Created topic testTopic.

Aquí:

  • Use la opción --createpara crear un nuevo tema
  • La opción --replication-factordescribe cuántas copias de datos se crearán. Dado que estamos ejecutando con una sola instancia, mantenga este valor en 1.
  • Establezca opciones --partitionscomo la cantidad de corredores entre los que desea que se dividan sus datos. Como estamos ejecutando con un solo corredor, mantenga este valor en 1.
  • La opción --topicdefine el nombre del tema .

Puede crear varios argumentos ejecutando el mismo comando anterior. A continuación, puede ver los argumentos creados en Kafka ejecutando el siguiente comando:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092 

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

Enviar y recibir mensajes en Kafka

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

Ejecutamos el productor y luego escribimos algunos mensajes en la consola para enviar al servidor:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic 
>Welcome to kafka
>This is my first topic
>

Puede salir de este comando o mantener este terminal en ejecución para realizar más pruebas. Ahora abra una nueva terminal para el proceso de consumo de Kafka en el siguiente paso.

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

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning 
Welcome to kafka
This is my first topic

Ahora, si todavía está ejecutando el productor Kafka en otra terminal. Simplemente escriba un texto en la terminal de ese fabricante. será inmediatamente visible en el terminal del consumidor. Echa un vistazo a la captura de pantalla a continuación del productor y consumidor Kafka en el trabajo:

Conclusión

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

Únase a la conversación

Buy me a coffeeBuy me a coffee

Apóyenos si le gusta nuestro contenido. Gracias.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.