GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Apache Kafka en CentOS 8

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

Este tutorial lo ayudará a instalar los sistemas Apache Kafka CentOS 8 o RHEL 8 Linux.

Requisitos

  • Se recomienda que el sistema recién instalado siga la configuración inicial del servidor.
  • Acceso Shell al sistema CentOS 8 con cuenta de privilegios sudo.

Paso 1:instalar Java

Debe tener Java instalado en su sistema para ejecutar Apache Kafka. Puede instalar OpenJDK en su máquina ejecutando el siguiente comando. Además, instale algunas otras herramientas necesarias.

sudo dnf install java-11-openjdk wget vim

Paso 2:descarga Apache Kafka

Descargue los archivos binarios de Apache Kafka desde su sitio web oficial de descargas. 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

Luego extraiga el archivo comprimido

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

Paso 3:configurar los archivos de unidad de Kafka Systemd

CentOS 8 usa systemd para administrar el estado de sus servicios. Por lo tanto, debemos crear archivos unitarios systemd para el servicio Zookeeper y Kafka. Lo que nos ayuda a administrar los servicios de Kafka para iniciar/detener.

Primero, cree un archivo de unidad systemd para Zookeeper con el siguiente comando:

vim /etc/systemd/system/zookeeper.service

Agregue el 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/bin/bash /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/bin/bash /usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Guarde el archivo y ciérrelo.

Luego, para crear un archivo de unidad Kafka systemd usando el siguiente comando:

vim /etc/systemd/system/kafka.service

Agrega el siguiente contenido. Asegúrese de establecer el JAVA_HOME correcto ruta 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/jre-11-openjdk"
ExecStart=/usr/bin/bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/bin/bash /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 los cambios.

systemctl daemon-reload

Paso 4:iniciar el servidor Kafka

Kafka requería ZooKeeper, así que primero, inicie un servidor ZooKeeper en su sistema. Puede usar el script disponible con Kafka para iniciar una instancia de ZooKeeper de un solo nodo.

sudo systemctl start zookeeper

Ahora inicie el servidor Kafka y vea el estado de ejecución:

sudo systemctl start kafka
sudo systemctl status kafka

Todo listo. Ha instalado correctamente Kafka en su CentOS 8. La siguiente parte de este tutorial lo ayudará a crear temas en el clúster de Kafka y a trabajar con el servicio de productores y consumidores de Kafka.

Paso 5:creación de temas en Apache Kafka

Apache Kafka proporciona varios scripts de shell para trabajar en él. Primero, crea un tema llamado "testTopic ” con una sola partición con una sola 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 sola instancia, mantenga este valor en 1.

Establezca las opciones de particiones como el número de intermediarios entre los que desea que se dividan sus datos. Como estamos trabajando con un solo corredor, mantenga este valor en 1.

Puede crear varios temas ejecutando el mismo comando que el anterior. Después de eso, puede ver los temas creados en Kafka ejecutando el siguiente comando:

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

testTopic
KafkaonCentOS8
TutorialKafkaInstallCentOS8

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

Paso 6:productor y consumidor de Apache Kafka

El “productor” es el proceso responsable de poner datos en nuestro Kafka. 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.

Ejecutemos el productor y luego escribamos algunos mensajes en 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
>

Ahora abra una nueva terminal para ejecutar el proceso de consumidor de Apache Kafka. Kafka también proporciona 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

La opción –from-beginning se utiliza para leer mensajes desde el principio del tema seleccionado. Puede omitir esta opción para leer solo los mensajes más recientes.

Por ejemplo, ejecute el productor y el consumidor de Kafka en terminales independientes. Simplemente escriba un texto en esa terminal del productor. será inmediatamente visible en el terminal del consumidor. Vea la siguiente captura de pantalla del productor y consumidor de Kafka trabajando:

Conclusión

Ha instalado y configurado con éxito el servicio Kafka en la máquina CentOS 8 Linux.


Cent OS
  1. Cómo instalar Apache Cassandra en CentOS 8

  2. Cómo instalar Apache en CentOS 7

  3. Cómo instalar Apache Maven en CentOS 7

  4. Cómo instalar Apache Cassandra en CentOS 7

  5. Cómo instalar Apache Tomcat 8 en CentOS

Cómo instalar elgg en CentOS 8

Cómo instalar Apache ServiceMix en CentOS 8

Cómo instalar Apache SVN en CentOS 7

Cómo instalar Mod_Security Apache en CentOS 6

Cómo instalar Apache Kafka en CentOS 8

Cómo instalar Apache Kafka en CentOS/RHEL 7