Apache Kafka es un agente de mensajes distribuidos popular diseñado para manejar grandes volúmenes de datos en tiempo real. Un clúster de Kafka es altamente escalable y tolerante a fallas.
También tiene un rendimiento mucho mayor en comparación con otros intermediarios de mensajes como ActiveMQ y RabbitMQ.
Aunque generalmente se usa como un sistema de mensajería de publicación/suscripción, muchas organizaciones también lo usan para la agregación de registros porque ofrece almacenamiento persistente para los mensajes publicados.
Aquí en LinuxAPT, como parte de nuestros Servicios de Administración de Servidores, ayudamos regularmente a nuestros Clientes a realizar consultas relacionadas con Apache.
En este contexto, veremos cómo instalar y configurar Kafka en Ubuntu 20.04.
¿Cómo instalar Apache Kafka en el sistema Ubuntu?
Para comenzar con esta tarea de instalación, debe acceder a su servidor como usuario raíz con derechos sudo.
Apache Kafka requiere que Java esté instalado en su máquina con Ubuntu 20.04.
Comience actualizando 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
Luego, verifique que Java se haya instalado correctamente en el sistema ejecutando el comando:
$ java --version
¿Cómo descargar Kafka en Ubuntu?
Ahora, debe descargar la fuente de Kafka en su Ubuntu 20.04. Es muy recomendable 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
A continuación, cree 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
Dado que ya ha extraído los archivos binarios de Apache Kafka, puede enumerar los archivos ejecutando:
$ ls /usr/local/kafka-server/kafka-2.7.0-src/bin/
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.
¿Cómo crear archivos Systemd Unit para Kafka y Zookeeper?
Comience usando su editor favorito para crear 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 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
¿Cómo instalar Cluster Manager para Apache Kafka (CMAK) en Ubuntu?
Aquí, instalaremos el 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
¿Cómo configurar CMAK en Ubuntu?
Con tu editor favorito, puedes modificar la configuración de CMAK:
$ vim ~/CMAK/conf/application.conf
Aquí, configuraremos que Zookeeper es localhost, cambiemos el valor de cmak.zkhosts como localhost:2181
Puede encontrar 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.
¿Cómo iniciar el servicio CMAK en Ubuntu?
i. Cambie al directorio ~/CMAK/target/universal y extraiga el archivo zip:
$ cd ~/CMAK/target/universal
$ unzip cmak-3.0.0.5.zip
ii. 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://
Cuando acceda por primera vez a su interfaz, no habrá ningún clúster disponible.
iii. Luego, tenemos que agregar uno nuevo haciendo clic en Agregar clúster en la lista desplegable del clúster.
IV. Aquí, completamos el formulario con la información solicitada:nombre del clúster, hosts de Zookeeper del clúster, versión de Kafka, etc.
v. Deje otras opciones con sus valores predeterminados y luego haga clic en Guardar.
Ahora el clúster se creará con éxito.
Ahora puede crear un tema de muestra.
vi. Supongamos que vamos a crear un tema llamado "LinuxAPTTopic".
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 LinuxAPTTopic
Este comando creará el tema "LinuxAPTTopic".
vii. Finalmente, vaya a la vista de clúster y luego haga clic en Tema> Lista.