Cómo instalar la plataforma de streaming distribuido Apache Kafka en Ubuntu
Apache Kafka es una plataforma de streaming distribuido desarrollada por Apache Software Foundation y escrita en Java y Scala. Apache Kafka fue desarrollado originalmente por LinkedIn, y fue de código abierto en 2011.
Apache Kafka se utiliza para construir canalizaciones de datos de streaming en tiempo real que obtienen datos de forma fiable entre el sistema y las aplicaciones. Proporciona un procesamiento de datos unificado, de alto rendimiento y baja latencia en tiempo real.
En este tutorial, te mostraremos cómo instalar y configurar paso a paso Apache Kafka en Ubuntu 18.04. Esta guía cubrirá la instalación y configuración de Apache Kafka y Apache Zookeeper.
Requisitos previos
- Ubuntu 18.04
- Privilegios de root
¿Qué vamos a hacer?
- Instalar Java OpenJDK 8
- Instala Apache Zookeeper
- Descarga y configura Apache Kafka
- Configura Apache Kafka y Zookeeper como servicio
- Probar
Paso 1 – Instalar Java OpenJDK 8
Apache Kafka ha sido escrito en Java y Scala, por lo que necesitamos instalar java en el servidor.
Antes de instalar ningún paquete, actualiza el repositorio y actualiza todos los paquetes.
sudo apt update sudo apt upgrade
Ahora instala Java OpenJDK 8 desde el repositorio de Ubuntu utilizando el comando apt que aparece a continuación.
sudo apt install openjdk-8-jdk -y
Una vez finalizada la instalación, comprueba la versión de java instalada.
java -version
Ahora verás el java OpenJDK 8 instalado en Ubuntu 18.04.
Paso 2 – Instala Apache Zookeeper
Apache Kafka utiliza zookeeper para la elección del controlador, la pertenencia al clúster y la configuración de temas. Zookeeper s un servicio distribuido de configuración y sincronización.
En este paso, instalaremos Zookeeper desde el repositorio de Ubuntu.
Ejecuta el siguiente comando apt.
sudo apt install zookeeperd -y
Espera a que se complete la instalación.
Paso 3 – Descargar y configurar Apache Kafka
En este paso, instalaremos Apache Kafka utilizando los archivos binarios que se pueden descargar desde el sitio web de Kafka. Instalaremos y configuraremos Apache Kafka y lo ejecutaremos como usuario no root.
Añade un nuevo usuario llamado ‘kafka’.
useradd -d /opt/kafka -s /bin/bash kafka passwd kafka
Ahora ve al directorio ‘/opt’ y descarga los archivos binarios de Apache Kafka utilizando wget.
cd /opt wget http://www-eu.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
Ahora crea un nuevo directorio kafka.
mkdir -p /opt/kafka
Extrae el archivo kafka_*.tar.gz al directorio «kafka» y cambia el propietario del directorio al usuario y grupo «kafka».
tar -xf kafka_2.11-2.0.0.tgz -C /opt/kafka --strip-components=1 sudo chown -R kafka:kafka /opt/kafka
Ahora inicia sesión con el usuario ‘kafka’ y edita la configuración server.properties.
su - kafka vim config/server.properties
Pega la siguiente configuración al final de la línea.
delete.topic.enable = true
Guarda y sal.
La configuración de Apache Kafka se ha completado.
Paso 4 – Configurar Apache Kafka y Zookeeper como Servicios
En este paso, configuraremos Apache Kafka como servicio y configuraremos la configuración del servicio de aduanas para zookeeper.
Ve al directorio ‘/lib/systemd/system’ y crea un nuevo archivo de servicio ‘zookeeper.service’.
cd /lib/systemd/system/ vim zookeeper.service
Pega la configuración que aparece a continuación.
[Unit] Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=kafka ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Guarda y sal.
Ahora crea el archivo de servicio de Apache Kafka ‘kafka.service’.
vim kafka.service
Pega la configuración de abajo.
[Unit] Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=kafka ExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties' ExecStop=/opt/kafka/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Guarda y sal.
Recarga la configuración del gestor systemd.
systemctl daemon-reload
Ahora inicia los servicios Apache Zookeeper y Apache Kafka.
systemctl start zookeeper systemctl enable zookeeper
systemctl start kafka
systemctl enable kafka
Apache zookeeper y Kafka están en marcha.
Zookeeper se ejecuta en el puerto ‘2181’, y Kafka en el puerto ‘9092’, compruébalo utilizando el comando netstat que aparece a continuación.
netstat -plntu
Paso 5 – Probar Apache Kafka
Accede con el usuario ‘kafka’ y ve al directorio ‘bin/’.
su - kafka cd bin/
Ahora crea un nuevo tema llamado ‘HakaseTesting’ utilizando el archivo ejecutable ‘kafka-topics.sh’.
./kafka-topics.sh --create --zookeeper localhost:2181 \ --replication-factor 1 --partitions 1 \ --topic HakaseTesting
Y ejecuta el archivo «kafka-console-producer.sh» con el tema «HakaseTesting».
./kafka-console-producer.sh --broker-list localhost:9092 \ --topic HakaseTesting
Ahora abre un nuevo terminal e inicia sesión en el servidor, luego inicia sesión con el usuario ‘kafka’.
Ejecuta ‘kafka-console-consumer.sh’ para el tema ‘HakaseTesting’.
./kafka-console-consumer.sh --bootstrap-server localhost:9092 \ --topic HakaseTesting --from-beginning
Y cuando escribas cualquier entrada desde el intérprete de comandos ‘kafka-console-producer.sh’, obtendrás el mismo resultado en el intérprete de comandos ‘kafka-console-consumer.sh’.
La instalación y configuración de Apache Kafka en Ubuntu 18.04 se ha completado con éxito.