Introducción
Apache Kafka es una plataforma de transmisión de eventos distribuidos que tiene la capacidad de manejar canalizaciones de datos de alto rendimiento. Originalmente fue desarrollado por Linkedin para ser público como una plataforma de código abierto y utilizado por muchas empresas de TI en el mundo.
Este artículo le mostrará cómo instalar y configurar Kafka en Ubuntu 20.04.
Instalación de Apache Kafka
Requisito previo
Apache Kafka requiere que Java esté instalado en su máquina con Ubuntu 20.04. En primer lugar, actualicemos su sistema operativo con el siguiente comando:
$ sudo apt update
Después de actualizar el sistema operativo, continúe con la instalación de Java:
$ sudo apt install openjdk-11-jre-headless
Verificando que Java se instaló correctamente ejecutando:
$ java --version
La salida:
Descargando Kafka
A continuación, debe descargar la fuente de Kafka en su Ubuntu 20.04. Se recomienda descargarlo del sitio web oficial de Apache Kafka:https://kafka.apache.org/downloads
Al momento de escribir este artículo, la última versión es la 2.7.0. Puede descargarlo con el siguiente comando:
$ cd $HOME
$ wget https://downloads.apache.org/kafka/2.7.0/kafka-2.7.0-src.tgz
Vamos a crear una nueva carpeta llamada kafka-server en el directorio /usr/local:
$ sudo mkdir /usr/local/kafka-server
Luego extraiga la fuente descargada de Kafka al directorio /usr/local/kafka-server:
$ sudo tar xf $HOME/kafka-2.7.0-src.tgz -C /usr/local/kafka-server
Ya ha extraído los archivos binarios de Apache Kafka. Listar estos archivos ejecutando:
$ ls /usr/local/kafka-server/kafka-2.7.0-src/bin/
Salida:
Ahora es el momento de hacer que Kafka y Zookeeper se ejecuten como demonios en Ubuntu 20.04. Para hacer esto, debe crear archivos de unidad Systemd para Kafka y Zookeeper.
Creación de archivos Systemd Unit para Kafka y Zookeeper
Usando su editor favorito y cree dos archivos de la siguiente manera:
/etc/systemd/system/zookeeper.servicio
[Unit] Description=Apache Zookeeper Server Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple ExecStart=/usr/local/kafka-server/kafka-2.7.0-src/bin/zookeeper-server-start.sh /usr/local/kafka-server/kafka-2.7.0-src/config/zookeeper.properties ExecStop=/usr/local/kafka-server/kafka-2.7.0-src/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
/etc/systemd/system/kafka.servicio
[Unit] Description=Apache Kafka Server Documentation=http://kafka.apache.org/documentation.html Requires=zookeeper.service After=zookeeper.service [Service] Type=simple Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" ExecStart=/usr/local/kafka-server/kafka-2.7.0-src/bin/kafka-server-start.sh /usr/local/kafka-server/kafka-2.7.0-src/config/server.properties ExecStop=/usr/local/kafka-server/kafka-2.7.0-src/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Para aplicar los cambios, los demonios de systemd deben volver a cargarse y también debe habilitar los servicios.
$ sudo systemctl daemon-reload $ sudo systemctl enable --now zookeeper.service $ sudo systemctl enable --now kafka.service $ sudo systemctl status kafka zookeeper
Salida:
Instalación del Administrador de clústeres para Apache Kafka (CMAK)
El siguiente paso es instalar CMAK, que significa Cluster Manager para Apache Kafka. CMAK es una herramienta de código abierto para administrar y monitorear los servicios de Kafka. Originalmente fue desarrollado por Yahoo. Para instalar CMAK, ejecute los siguientes comandos:
$ cd $HOME $ git clone https://github.com/yahoo/CMAK.git
Configuración de CMAK
Luego, use su editor favorito para modificar la configuración de CMAK.
$ vim ~/CMAK/conf/application.conf
En este tutorial, configuraremos Zookeeper como localhost , cambiemos el valor de cmak.zkhosts como localhost:2181
Puede encontrar los cmak.zkhosts en la línea 28.
Ahora, debe crear un archivo zip con el fin de implementar la aplicación:
$ cd ~/CMAK $ ./sbt clean dist
Tardará aproximadamente un minuto en completarse. La salida será:
Inicio del servicio CMAK
Cambie al directorio ~/CMAK/target/universal y extraiga el archivo zip:
$ cd ~/CMAK/target/universal $ unzip cmak-3.0.0.5.zip
Después de descomprimir el archivo cmak-3.0.0.5.zip, cambie al directorio y ejecute el binario cmak:
$ cd cmak-3.0.0.5 $ bin/cmak
De forma predeterminada, el servicio cmak se ejecutará en el puerto 9000.
Use el navegador web y vaya a http://
Actualmente, no hay ningún clúster disponible. Tenemos que agregar uno nuevo haciendo clic en Agregar clúster en clúster lista desplegable.
Luego, complete el siguiente formulario con la información solicitada:nombre del clúster, hosts de Zookeeper del clúster, versión de Kafka, etc. Por ejemplo:
Deje otras opciones con sus valores predeterminados y luego haga clic en Guardar.
Hecho. El clúster se creó correctamente.
Ahora es el momento de crear un tema de muestra. Supongamos que vamos a crear un tema llamado "LinuxWaysTopic". Teniendo en cuenta que el CMAK aún se está ejecutando, inicie una nueva terminal y luego ejecute el siguiente comando:
$ cd /usr/local/kafka-server/kafka-2.7.0-src
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic LinuxWaysTopic
Salida:
Vaya a la vista de clúster y luego haga clic en Tema> Lista
Conclusión
Ha instalado y configurado con éxito Apache Kafka en su máquina Ubuntu 20.04 LTS.
Si tiene alguna inquietud, no dude en dejar su comentario y hágamelo saber. ¡Gracias!