Como instalar Apache Kafka Debian 10/9

Qué tal me llamo Kiko. Os traigo un nuevo post sobre el sistema operativo mas molón. Un placer linuxeros.

Apache Kafka es una plataforma de transmisión distribuida. Es útil para construir canalizaciones de datos de transmisión en tiempo real para obtener datos entre los sistemas o las aplicaciones. Otra característica útil son las aplicaciones de transmisión en tiempo real que pueden transformar flujos de datos o reaccionar sobre un flujo de datos.

Este tutorial le ayudará a instalar Apache Kafka a los sistemas Debian 10, Debian 9 y Debian 8.

Paso 1: instalar Java

Apache Kafka necesitaba Java para ejecutarse. Debe tener java instalado en su sistema. Ejecute el siguiente para instalar OpenJDK por defecto en su sistema desde los PPA oficiales.

sudo apt update
sudo apt install default-jdk

Paso 2: descargue Apache Kafka

Descargue los archivos binarios Apache Kafka desde su oficial descargar sitio web. También puede seleccionar cualquier espejo cercano para descargar.

wget http://www-us.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz

A continuación, extrae el archivo de archivo

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

Paso 3: cree archivos de unidad systemd

A continuación, cree archivos de unidad systemd para el servicio Zookeeper y Kafka. Esto ayudará a gestionar los servicios de Kafka para iniciar / detener el uso del sistema systemctl.

En primer lugar, cree un archivo de unidad systemd para Zookeeper con el orden siguiente:

vim /etc/systemd/system/zookeeper.service

Añada contenido a continuación:

[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.

A continuación, para crear un archivo de unidad Kafka systemd mediante el siguiente orden:

vim /etc/systemd/system/kafka.service

Agregue el siguiente. Asegúrese de establecer el valor correcto JAVA_HOME de acceso según el 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-1.11.0-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 ciérrelo.

Vuelva a cargar el demonio systemd para aplicar nuevos cambios.

systemctl daemon-reload

Paso 4: inicie el servidor Kafka

Kafka requiere ZooKeeper, así que primero debe iniciar un servidor ZooKeeper en su sistema. Puede utilizar el script disponible con Kafka para iniciar una instancia ZooKeeper de un solo nodo.

sudo systemctl start zookeeper

Ahora inicie el servidor Kafka y visualice el estado de funcionamiento:

sudo systemctl start kafka
sudo systemctl status kafka

 

Todo hecho. La instalación de Kafka se ha completado con éxito. La parte de este tutorial te ayudará a trabajar con el servidor Kafka.

Paso 5: cree un tema a Kafka

Kafka proporciona varios scripts de shell pre-construidos para trabajar. En primer lugar, cree un tema llamado «testTopic» con una sola partición con una única réplica:

cd /usr/local/kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic

Created topic testTopic.

El factor de replicación describe cuántas copias de datos se crearán. Como estamos ejecutando con una única instancia, mantenga este valor 1.

Establecer las opciones de particiones como número de agentes donde quiera que se dividan sus datos. Como estamos funcionando con un único broker, mantenga este valor 1.

Puede crear varios temas ejecutando la misma orden anterior. Después, puede ver los temas creados a Kafka mediante el siguiente orden:

bin/kafka-topics.sh --list --zookeeper localhost:2181

testTopic
linuxTutorial1
linuxTutorial2

Como alternativa, en lugar de crear temas manualmente, también puede configurar sus intermediarios para crear temas automáticamente cuando se publique un tema inexistente en.

Paso 6: envía mensajes a 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 de Kafka. El Kafka predeterminado envía cada línea como un mensaje separado.

Ejecutamos el productor y, a continuación, escribimos varios mensajes a la consola para enviarlos al servidor.

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic

>Welcome to kafka
>This is my first topic
>

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

Paso 7: utilizar Kafka Consumer

Kafka también tiene un consumidor de línea de comandos para leer los 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 tiene el productor Kafka (paso núm. 6) en otro terminal. Simplemente escriba texto en el terminal del productor. será visible inmediatamente al terminal del consumidor. Véase la captura de pantalla siguiente del productor y consumidor de Kafka en trabajar:

 

conclusión

Ha instalado y configurado correctamente el servicio Kafka en la máquina Debian Linux.

El Blog lo escribimos para ayudar y servir de ayuda a la comunidad Linux. Esperamos que os guste.

Leave a Reply