En este tutorial, le mostraremos cómo instalar Apache Kafka en CentOS 8. Para aquellos de ustedes que no lo sabían, Apache Kafka es un agente de mensajes distribuidos diseñado para manejar grandes volúmenes de información en tiempo real de manera efectiva. A diferencia de los agentes tradicionales como ActiveMQ y RabbitMQ, Kafka funciona como un grupo de uno o más servidores que lo hacen altamente escalable y, debido a la naturaleza distribuida, tiene tolerancia a fallas incorporada al tiempo que proporciona un mayor rendimiento en comparación con su contrapartes.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de Apache Kafka en un servidor CentOS 8.
Requisitos previos
- Un servidor que ejecute uno de los siguientes sistemas operativos:CentOS 8.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instalar Apache Kafka en CentOS 8
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
sudo dnf update
Paso 2. Instalación de Java.
Apache Kafka requiere que Java esté instalado en su servidor. Puede instalar OpenJDK en su máquina ejecutando el siguiente comando:
sudo dnf install java-11-openjdk
Verifique la versión de Java ejecutando el siguiente comando:
java -version
Paso 3. Instalación de Apache Kafka en CentOS 8.
Primero, descargue y extraiga Kafka del sitio web de Apache. Puede usar wget
para descargar Kafka:
wget http://www-us.apache.org/dist/kafka/2.4.0/kafka_2.13-2.4.0.tgz
Luego extraiga el archivo comprimido:
tar xzf kafka_2.13-2.4.0.tgz mv kafka_2.13-2.4.0 /usr/local/kafka
Paso 4. Configure los archivos de unidad de Kafka Systemd.
Primero, cree systemd
archivo de unidad para Zookeeper con el siguiente comando:
nano /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/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
Luego, para crear un Kafka systemd
archivo de unidad usando el siguiente comando:
nano /etc/systemd/system/kafka.service
Agregue el siguiente contenido:
[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/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
Vuelva a cargar el systemd
demonio para aplicar cambios:
systemctl daemon-reload
Paso 5. Inicie el servidor Kafka.
Kafka requería ZooKeeper, así que primero, inicie un servidor ZooKeeper en su sistema:
sudo systemctl start zookeeper
A continuación, inicie el servidor Kafka y vea el estado de ejecución:
sudo systemctl start kafka sudo systemctl status kafka
Paso 6. Creación de temas en 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 un estándar ingrese y envíelo como mensajes al clúster de Kafka:
cd /usr/local/kafka bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic Created topic NewTopic.
Puedes crear varios temas ejecutando el mismo comando anterior. Después de eso, puedes ver los temas creados en Kafka ejecutando el siguiente comando:
bin/kafka-topics.sh --list --zookeeper localhost:2181 NewTopic KafkaonCentOS8 KafkaonCentOS8
Paso 7. Productor y consumidor de Apache Kafka.
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 NewTopic >Welcome to kafka >This is my new topic >
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 NewTopic --from-beginning Welcome to kafka This is my new topic
¡Felicitaciones! Ha instalado Apache Kafka con éxito. Gracias por usar este tutorial para instalar Apache Kafka en el sistema CentOS 8. Para obtener ayuda adicional o información útil, le recomendamos que visite el sitio web oficial de Apache Kafka .