Apache Kafka es un servicio de transmisión de mensajes que permite que diferentes aplicaciones en un sistema distribuido se comuniquen y compartan datos a través de mensajes.
Funciona como un pub/subsistema donde las aplicaciones productoras publican mensajes y los sistemas consumidores se suscriben a ellos.
Apache Kafka le permite adoptar una arquitectura débilmente acoplada entre las partes de su sistema que producen y consumen datos. Esto simplifica el diseño y la gestión del sistema. Kafka confía en Zookeeper para la gestión de metadatos y la sincronización de diferentes elementos del clúster.
Tabla de contenido
Características de Apache Kafka
Apache Kafka se ha vuelto popular, entre otras razones, por ser
- Escalable a través de clústeres y particiones
- Rápido capaz de realizar 2 millones de escrituras por segundo
- Mantiene el orden en que se envían los mensajes.
- Confiable a través de su sistema de réplicas
- Se puede actualizar sin tiempo de inactividad
Ahora, exploremos algunos de los casos de uso comunes de Kafka.
Casos de uso comunes de Apache Kafka
Kafka se usa a menudo para procesar grandes datos, registrar y agregar eventos, como clics de botones para análisis, y combinar registros de diferentes partes de un sistema en una ubicación central.
Ayuda a habilitar la comunicación entre diferentes aplicaciones en un sistema y el procesamiento en tiempo real de datos de dispositivos IoT.
Ahora, veamos los pasos detallados para instalar Kafka en Windows y Linux.
Instalación de Kafka en Windows
Primero, verifique si Java está instalado en su máquina para instalar Apache Kafka en Windows. Abra el símbolo del sistema en modo Administrador e ingrese el comando:
java --version
Si Java está instalado, debe obtener el número de versión de JDK actualmente instalado.
Si recibe un mensaje de error que dice que no se reconoció el comando, Java no se instaló y necesita instalar Java. Para instalar Java, diríjase a Adoptium.net y haga clic en el botón de descarga.
Esto debería descargar el archivo de instalación de Java. Cuando se complete la descarga, ejecute el instalador. Esto debería abrir el indicador de instalación.
Presione Siguiente repetidamente para elegir las opciones predeterminadas. Entonces debería comenzar la instalación. Verifique la instalación cerrando el símbolo del sistema, volviendo a abrir otro símbolo del sistema en modo Administrador e ingresando el comando:
java --version
Esta vez, debería obtener la versión de JDK que acaba de instalar. Una vez completada la instalación, podemos comenzar a instalar Kafka.
Para instalar Kafka, primero vaya al sitio web de Kafka.
Haga clic en el enlace y debería llevarlo a la página de Descargas. Descarga los últimos binarios disponibles.
Esto descargará los scripts y binarios de Kafka empaquetados en un archivo .tgz. Después de la descarga, debe extraer los archivos del archivo .tgz. Para extraer, usaré WinZip, que se puede descargar desde el sitio web de WinZip.
Después de extraer el archivo, muévalo a C: de modo que la ruta del archivo se convierta en C: kafka
Luego abra el símbolo del sistema en modo Administrador e inicie Zookeeper navegando primero al directorio de Kafka. Y ejecutar el archivo zookeeper-server-start.bat con zookeeper.properties como archivo de configuración
cd C:kafka binwindowszookeeper-server-start.bat configzookeeper.properties
Con Zookeeper ejecutándose, debemos agregar el archivo ejecutable wmic que usa Kafka en la RUTA de nuestro sistema,
set PATH=C:WindowsSystem32wbem;%PATH%;
Después de esto, inicie el servidor Apache Kafka abriendo otra sesión de símbolo del sistema en modo Administrador y navegando a la carpeta C:kafka
cd C:kafka
Luego inicie Kafka ejecutando
binwindowskafka-server-start.bat configserver.properties
Con esto, Kafka debería estar corriendo. Puede personalizar las propiedades del servidor, como dónde se escriben los registros en el archivo server.properties.
Instalación de Kafka en Linux
Primero, asegúrese de que su sistema esté actualizado actualizando todos los paquetes
sudo apt update && sudo apt upgrade
A continuación, compruebe si Java está instalado en su máquina ejecutando
java --version
Si Java está instalado, verá el número de versión. Sin embargo, si no es así, puede instalarlo usando apt.
sudo apt install default-jdk
Después de esto, podemos instalar Apache Kafka descargando los binarios del sitio web.
Abre tu terminal y navega a la carpeta donde se guardó la descarga. En mi caso, tengo que navegar a la carpeta Descargas.
cd Downloads
Una vez en la carpeta de descargas, extraiga los archivos descargados usando tar:
tar -xvzf kafka_2.13-3.3.1.tgz
Navegar a la carpeta extraída
cd kafka_2.13-3.3.1.tgz
Enumere los directorios y archivos.
Una vez en la carpeta, inicie un servidor Zookeeper ejecutando el script zookeeper-server-start.sh ubicado en el directorio bin de la carpeta extraída.
El script requerirá un archivo de configuración de Zookeeper. El archivo predeterminado se llama zookeeper.properties y se encuentra en el subdirectorio de configuración.
Entonces, para iniciar el servidor, use el comando:
bin/zookeeper-server-start.sh config/zookeeper.properties
Con Zookeeper ejecutándose, podemos iniciar el servidor Apache Kafka. El script kafka-server-start.sh también se encuentra en el directorio bin. El comando también espera un archivo de configuración. El predeterminado es server.properties almacenado en el archivo de configuración.
bin/kafka-server-start.sh config/server.properties
Esto debería hacer que Apache Kafka se ejecute. Dentro del directorio bin, encontrará muchos scripts para hacer cosas como crear temas, administrar productores y administrar consumidores. También puede personalizar las propiedades del servidor en el archivo server.properties.
Ultimas palabras
En esta guía, explicamos cómo instalar Java y Apache Kafka. Si bien puede instalar y administrar clústeres de Kafka manualmente, también puede usar opciones administradas como Amazon Web Services y Confluent.
A continuación, puede aprender a procesar datos con Kafka y Spark.