Cómo instalar Kafka en Rhel 8

Cómo instalar Kafka en Rhel 8

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
Consumir mensajes en Kafka Topic desde la línea de comandos.

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
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 dominio
ps - 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.

  1. 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í. Usaremos wget, 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
  2. 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
  3. Creamos un usuario no privilegiado que ejecutará ambos choque y kafka servicio.
    # UserAdd Kafka
  4. Y establezca al nuevo usuario como propietario de todo el directorio que extraemos, recursivamente:
    # chown -r kafka: kafka /opt /kafka*
  5. Creamos el archivo de la unidad /etc/systemd/system/Zookeeper.servicio Con el siguiente contenido:


    [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
    Copiar

    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:

    [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
    Copiar
  6. Necesitamos recargar system Para obtenerlo, lea los nuevos archivos de la unidad:


    # SystemCTL-Daemon-Re-Reloting
  7. 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 […]
  8. Opcionalmente podemos habilitar el inicio automático en el arranque para ambos servicios:
    # SystemCTL Habilitar Zookeeper.Servicio # SystemCTL Habilitar kafka.servicio
  9. 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 tema
    FirstKafkatopic. Usaremos el kafka usuario para crear el tema:
    $/opt/kafka/bin/kafka-topics.sh --create-azookeeper localhost: 2181--Repplication-Factor 1-Partitions 1-Topic


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

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