Apache Kafka es una plataforma de transmisión distribuida 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 usa para construir una canalización de datos de transmisión en tiempo real que obtiene datos de manera confiable entre el sistema y las aplicaciones. Proporciona un procesamiento de datos unificado, de alto rendimiento y baja latencia en tiempo real.
En este tutorial, le mostraremos cómo instalar y configurar Apache Kafka en Ubuntu 18.04 paso a paso. Esta guía cubrirá la instalación y configuración de Apache Kafka y Apache Zookeeper.
Requisitos
- Ubuntu 18.04
- Privilegios de raíz
¿Qué haremos?
- Instalar Java OpenJDK 8
- Instalar Apache Zookeeper
- Descargar y configurar Apache Kafka
- Configurar Apache Kafka y Zookeeper como servicio
- Pruebas
Paso 1:instalar Java OpenJDK 8
Apache Kafka se ha escrito en Java y Scala, por lo que debemos instalar Java en el servidor.
Antes de instalar cualquier paquete, actualice el repositorio y actualice todos los paquetes.
sudo apt update
sudo apt upgrade
Ahora instale Java OpenJDK 8 desde el repositorio de Ubuntu usando el comando apt a continuación.
sudo apt install openjdk-8-jdk -y
Una vez completada la instalación, verifique la versión instalada de Java.
java -version
Ahora verá Java OpenJDK 8 instalado en Ubuntu 18.04.
Paso 2:instalar Apache Zookeeper
Apache Kafka utiliza zookeeper para la elección del controlador, la pertenencia al clúster y la configuración de temas. Zookeeper es un servicio distribuido de configuración y sincronización.
En este paso, instalaremos Zookeeper desde el repositorio de Ubuntu.
Ejecute el comando apt a continuación.
sudo apt install zookeeperd -y
Espere hasta 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 del sitio web de Kafka. Instalaremos y configuraremos apache Kafka y lo ejecutaremos como usuario no root.
Agregue un nuevo usuario llamado 'kafka'.
useradd -d /opt/kafka -s /bin/bash kafka
passwd kafka
Ahora vaya al directorio '/opt' y descargue los archivos binarios de Apache Kafka usando wget.
cd /opt
wget http://www-eu.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
Ahora cree un nuevo directorio kafka.
mkdir -p /opt/kafka
Extraiga el archivo kafka_*.tar.gz al directorio 'kafka' y cambie 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 inicie sesión en el usuario 'kafka' y edite la configuración de server.properties.
su - kafka
vim config/server.properties
Pegue la siguiente configuración al final de la línea.
delete.topic.enable = true
Guardar y salir.
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 un servicio y estableceremos la configuración del servicio de aduanas para el cuidador del zoológico.
Vaya al directorio '/lib/systemd/system' y cree un nuevo archivo de servicio 'zookeeper.service'.
cd /lib/systemd/system/
vim zookeeper.service
Pegue la configuración 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
Guardar y salir.
Ahora cree el archivo de servicio de Apache Kafka 'kafka.service'.
vim kafka.service
Pegue la configuración a continuación.
[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
Guardar y salir.
Vuelva a cargar la configuración del administrador de systemd.
systemctl daemon-reload
Ahora inicie los servicios Apache Zookeeper y Apache Kafka.
systemctl start zookeeper
systemctl enable zookeeper
systemctl start kafka
systemctl enable kafka
El cuidador apache del zoológico y Kafka están listos y funcionando.
Zookeeper ejecutándose en el puerto '2181' y Kafka en el puerto '9092', verifíquelo con el siguiente comando netstat.
netstat -plntu
Paso 5:prueba de Apache Kafka
Inicie sesión en el usuario 'kafka' y vaya al directorio 'bin/'.
su - kafka
cd bin/
Ahora cree 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 ejecute 'kafka-console-producer.sh' con el tema 'HakaseTesting'.
./kafka-console-producer.sh --broker-list localhost:9092 \
--topic HakaseTesting
Ahora abra una nueva terminal e inicie sesión en el servidor, luego inicie sesión con el usuario 'kafka'.
Ejecute 'kafka-console-consumer.sh' para el tema 'HakaseTesting'.
./kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic HakaseTesting --from-beginning
Y cuando escriba cualquier entrada desde el shell 'kafka-console-producer.sh', obtendrá el mismo resultado en el shell 'kafka-console-consumer.sh'.
La instalación y configuración de Apache Kafka en Ubuntu 18.04 se completó con éxito.