Cómo instalar Kafka en Rhel 8
- 3833
- 686
- Sta. Enrique Santiago
Apache Kafka es una plataforma de transmisión distribuida. Con su conjunto de API rico (interfaz de programación de aplicaciones), podemos conectar en su mayoría cualquier cosa a Kafka como fuente de datos, y en el otro extremo, podemos configurar una gran cantidad de consumidores que recibirán el vapor de registros para procesar. Kafka es altamente escalable y almacena los flujos de datos de una manera confiable y tolerante a fallas. Desde la perspectiva de conectividad, Kafka puede servir como un puente entre muchos sistemas heterogéneos, que a su vez pueden confiar en sus capacidades para transferir y persistir los datos proporcionados.
En este tutorial instalaremos Apache Kafka en un Red Hat Enterprise Linux 8, cree el system
Archivos de unidad para facilitar la administración y probar la funcionalidad con las herramientas de línea de comandos enviadas.
En este tutorial aprenderás:
- Cómo instalar Apache Kafka
- Cómo crear servicios Systemd para Kafka y Zookeeper
- Cómo probar Kafka con clientes de línea de comandos
Requisitos y convenciones de software utilizados
Categoría | Requisitos, convenciones o versión de software utilizada |
---|---|
Sistema | Red Hat Enterprise Linux 8 |
Software | Apache Kafka 2.11 |
Otro | Acceso privilegiado a su sistema Linux como root o a través del sudo dominio. |
Convenciones | # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominiops - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado |
Cómo instalar kafka en redhat 8 instrucciones paso a paso
Apache Kafka está escrito en Java, por lo que todo lo que necesitamos es OpenJDK 8 instalado para continuar con la instalación. Kafka se basa en Apache Zookeeper, un servicio de coordinación distribuido, que también está escrito en Java, y se envía con el paquete que descargaremos. Al instalar los servicios de HA (alta disponibilidad) a un solo nodo mata su propósito, instalaremos y ejecutaremos Zookeeper por el bien de Kafka.
- Para descargar kafka desde el espejo más cercano, necesitamos consultar el sitio de descarga oficial. Podemos copiar la URL del
.alquitrán.GZ
Archivo desde allí. Usaremoswget
, y la URL pegó para descargar el paquete a la máquina de destino:# wget https: // www-eu.apache.org/dist/kafka/2.1.0/kafka_2.11-2.1.0.tgz -o /opt /kafka_2.11-2.1.0.tgz
- Entramos en el
/optar
directorio y extrae el archivo:# CD /OPT # TAR -XVF KAFKA_2.11-2.1.0.tgz
Y crear un enlace simbólico llamado
/opt/kafka
Eso apunta al ahora creado/opt/kafka_2_11-2.1.0
directorio para facilitarnos la vida.ln -s /opt /kafka_2.11-2.1.0 /opt /kafka
- Creamos un usuario no privilegiado que ejecutará ambos
choque
ykafka
servicio.# UserAdd Kafka
- Y establezca al nuevo usuario como propietario de todo el directorio que extraemos, recursivamente:
# chown -r kafka: kafka /opt /kafka*
- Creamos el archivo de la unidad
/etc/systemd/system/Zookeeper.servicio
Con el siguiente contenido:
Copiar[Unidad] Descripción = ZOOKEEPER After = syslog.red de destino.Target [Service] Type = Simple User = Kafka Group = Kafka ExecStart =/Opt/Kafka/Bin/Zookeeper-Server-Start.SH/OPT/KAFKA/CONFIG/ZOOKEEPER.Propiedades execstop =/opt/kafka/bin/zookeeper-server-stop.sh [install] WantedBy = Multiuser.objetivo
Tenga en cuenta que no necesitamos escribir el número de versión tres veces debido al enlace simbólico que creamos. Lo mismo se aplica al siguiente archivo de la unidad para Kafka,
/etc/systemd/system/kafka.servicio
, que contiene las siguientes líneas de configuración:
Copiar[Unidad] Descripción = Apache Kafka requiere = Zookeeper.servicio después = ZOOKEEPER.servicio [servicio] type = simple user = kafka group = kafka execstart =/opt/kafka/bin/kafka-server-start.sh/opt/kafka/config/servidor.Propiedades execstop =/opt/kafka/bin/kafka-server-stop.sh [install] WantedBy = Multiuser.objetivo
- Necesitamos recargar
system
Para obtenerlo, lea los nuevos archivos de la unidad:
# SystemCTL-Daemon-Re-Reloting
- Ahora podemos comenzar nuestros nuevos servicios (en este orden):
# SystemCTL Start Zookeeper # SystemCTL Start Kafka
Si todo va bien,
system
Debe informar el estado de ejecución en el estado de ambos servicios, similar a las salidas a continuación:# SystemCTL Status ZOOKEEPER.Servicio de Zookeeper.Servicio - Zookeeper cargado: cargado (/etc/systemd/System/Zookeeper.servicio; desactivado; Vendor Preset: Discapaced) Activo: Activo (Running) desde Jue 2019-01-10 20:44:37 CET; PID Main de hace 6s: 11628 (Java) Tareas: 23 (límite: 12544) Memoria: 57.0m cgroup: /sistema.rebanada.Servicio 11628 Java -xmx512m -xms512m -Server […] # systemCtl status kafka.servicio kafka.Servicio - Apache Kafka Cargado: cargado (/etc/systemd/system/kafka.servicio; desactivado; Vendor Preset: Discapaced) Activo: Activo (Running) desde Jue 2019-01-10 20:45:11 CET; Hace 11S PID principal: 11949 (Java) Tareas: 64 (límite: 12544) Memoria: 322.2M CGROUP: /SISTEMA.rebanada/kafka.Servicio 11949 Java -xmx1g -xms1g -server […]
- Opcionalmente podemos habilitar el inicio automático en el arranque para ambos servicios:
# SystemCTL Habilitar Zookeeper.Servicio # SystemCTL Habilitar kafka.servicio
- Para probar la funcionalidad, nos conectaremos a Kafka con un productor y un cliente de consumo. Los mensajes proporcionados por el productor deben aparecer en la consola del consumidor. Pero antes de esto necesitamos un medio estos dos mensajes de intercambio en. Creamos un nuevo canal de datos llamado
tema
en términos de Kafka, donde el proveedor publicará y donde el consumidor se suscribirá a. Llamaremos al temaFirstKafkatopic
. Usaremos elkafka
usuario para crear el tema:$/opt/kafka/bin/kafka-topics.sh --create-azookeeper localhost: 2181--Repplication-Factor 1-Partitions 1-Topic
- Comenzamos un cliente de consumo desde la línea de comandos que se suscribirá al tema (en este momento vacío) creado en el paso anterior:
$/opt/kafka/bin/kafka-console-consumo.sh --bootstrap-server localhost: 9092 --Tema FirstKafkatopic --desde el principio
Dejamos la consola y el cliente que se ejecuta en ella. Esta consola es donde recibiremos el mensaje que publicamos con el cliente productor.
- En otra terminal, iniciamos un cliente productor y publicamos algunos mensajes sobre el tema que creamos. Podemos consultar a Kafka para obtener temas disponibles:
$/opt/kafka/bin/kafka-topics.sh --lista -azookeeper localhost: 2181 FirstKafkatopic
Y conéctese al que se suscribe al consumidor, luego envíe un mensaje:
$/opt/kafka/bin/kafka-comducer.SH --Broker-List Localhost: 9092--Topic FirstKafkatopic> Nuevo mensaje publicado por el productor de la consola #2
En el terminal del consumidor, el mensaje debe aparecer en breve:
$/opt/kafka/bin/kafka-console-consumo.sh --bootstrap-server localhost: 9092--topic firstkafkatopic-desde el nuevo mensaje publicado por el productor de la consola #2
Si aparece el mensaje, nuestra prueba es exitosa y nuestra instalación de Kafka funciona según lo previsto. Muchos clientes podrían proporcionar y consumir uno o más registros de temas de la misma manera, incluso con una configuración de nodo única que creamos en este tutorial.
Tutoriales de Linux relacionados:
- Cómo usar redes puentes con libvirt y kvm
- Cosas para instalar en Ubuntu 20.04
- Cómo evitar la comprobación de conectividad de NetworkManager
- Cómo instalar Steam en Ubuntu 22.04 Jammy Jellyfish Linux
- Una introducción a la automatización, herramientas y técnicas de Linux
- Cómo usar ADB Android Debug Bridge para administrar su Android ..
- Mastering Bash Script Loops
- Bucles anidados en guiones Bash
- Ubuntu 20.04 WordPress con instalación de Apache
- Cómo trabajar con la API REST de WooCommerce con Python