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?

  1. Instalar Java OpenJDK 8
  2. Instala Apache Zookeeper
  3. Descarga y configura Apache Kafka
  4. Configura Apache Kafka y Zookeeper como servicio
  5. 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.

Instalar Java

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.

Instalar Apache Zookeeper

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.

Iniciar Apache Kafka

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

Iniciar Zookeeper y 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

El software está escuchando en sus puertos por defecto

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’.

Probar Apache Kafka

La instalación y configuración de Apache Kafka en Ubuntu 18.04 se ha completado con éxito.

Referencia

También te podría gustar...