Introducción a las herramientas Kafka

Kafka Tools es una colección de varias herramientas que podemos usar para administrar nuestro Kafka Cluster. Las herramientas se basan principalmente en la línea de comandos, pero también están disponibles herramientas basadas en la interfaz de usuario que se pueden descargar e instalar.

Podemos usar las herramientas de Kafka para realizar varias operaciones como:

  • Enumere los Kafka Clusters disponibles y sus corredores, temas y consumidores.
  • Puede imprimir los mensajes de varios temas en la salida estándar. Las herramientas basadas en la interfaz de usuario definitivamente pueden proporcionar una mejor legibilidad.
  • Agregue y suelte temas de los corredores.
  • Agregue nuevos mensajes en las particiones.
  • Ver todas las compensaciones de nuestros consumidores.
  • Crea particiones de nuestros temas.
  • Enumere todos los Grupos de consumidores, describa los Grupos de consumidores, elimine la información del Grupo de consumidores y restablezca las compensaciones de Grupos de consumidores.

Si queremos usar una herramienta basada en la interfaz de usuario, podemos usar Kafka Tool que se puede descargar desde la siguiente página web:

http://www.kafkatool.com/download.html

Esta aplicación está disponible de forma gratuita para uso personal, pero necesitamos comprar una licencia para uso comercial. Lo bueno de esto es su disponibilidad para sistemas Mac, Windows y Linux.

Los 3 tipos principales de herramientas Kafka

Las herramientas de Kafka se clasifican en herramientas del sistema y herramientas de aplicación.

1. Herramientas del sistema

Las herramientas del sistema se pueden ejecutar con la siguiente sintaxis.

Sintaxis:

bin/kafka-run-class.sh package.class - - options

Algunas de las herramientas del sistema son las siguientes:

  • Herramienta de migración de Kafka: esta herramienta se utiliza para migrar Kafka Broker de una versión a otra.
  • Consumer Offset Checker: esta herramienta puede mostrar Grupo de consumidores, Tema, Particiones, Offset, logSize, Propietario para el conjunto especificado de Temas y Grupo de consumidores.
  • Mirror Maker: esta herramienta se utiliza para reflejar un Kafka Cluster a otro.

2. Herramientas de replicación

Estas son básicamente herramientas de diseño de alto nivel proporcionadas para durabilidad y disponibilidad.

Algunas de las herramientas de replicación son:

  • Herramienta Crear tema: esta herramienta se utiliza para crear temas con el número predeterminado de particiones y factor de replicación.
  • Herramienta de lista de temas: se utiliza para enumerar la información de una lista dada de temas. Lo mejor de esta herramienta es que si no hay ningún tema disponible en la línea de comando, consultará al Zookeeper para buscar primero la lista de Temas y luego imprimirá la información sobre ellos. Enumera varios campos como Nombre del tema, Particiones, Líder, Réplicas, etc.
  • Herramienta Agregar partición: esta herramienta se usa para agregar particiones a un tema que se requiere para manejar el crecimiento del volumen de datos en el tema. Pero tenga en cuenta que, tenemos que especificar las particiones al crear el tema. Esta herramienta nos permite agregar réplicas manuales para las particiones agregadas.

3. Herramientas varias

Ahora analicemos algunas herramientas diversas:

a. Herramienta Kafka-Topics

Esta herramienta se utiliza para crear, enumerar, alterar y describir temas.

Ejemplo: Creación de tema: bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic topic_name --partitions 30 --replication-factor 3 --config x=y

si. Kafka-Console-Consumer Tool

Esta herramienta se puede usar para leer datos de temas de Kafka y escribirlos en la salida estándar

Ejemplo: bin/kafka-console-consumer --zookeeper zk01.example.com:8080 --topic topic_name>/code>

C. Herramienta Kafka-consola-productora

Esta herramienta se puede utilizar para escribir datos en un tema de Kafka desde la salida estándar.

Ejemplo: bin/kafka-console-producer --broker-list kafka03.example.com:9091 --topic topic_name

re. Herramienta Kafka-consumer-groups

Esta herramienta se puede usar para enumerar todos los grupos de consumidores, describir un grupo de consumidores, eliminar la información del grupo de consumidores o restablecer las compensaciones de los grupos de consumidores. Esta herramienta se utiliza principalmente para describir grupos de consumidores y depurar cualquier problema de compensación del consumidor.

Ejemplo: visualización de compensaciones en un clúster no seguro: bin/kafka-consumer-groups --new-consumer --bootstrap-server broker01.example.com:9092 --describe --group group_name

Arquitectura Kafka

Varios componentes de las herramientas Kafka

Los principales componentes de Kafka son los siguientes:

1. Broker

Cada nodo en un Kafka Cluster es un intermediario que almacena los datos. Por lo general, hay varios corredores para equilibrar la carga correctamente. Un corredor almacena mensajes en forma de temas a los que pueden acceder productores (para escribir) y consumidores (para leer). Los temas se crean para segregar los datos de una aplicación de los de otra. Como los corredores no tienen estado, necesitan la ayuda de Zookeeper para mantener su estado de clúster. Un agente puede manejar TB de mensajes sin ningún impacto en el rendimiento. La elección del líder del corredor de Kafka la realiza el Zookeeper.

2. Productor

Es la unidad que empuja los mensajes a los corredores. Puede haber múltiples productores generando datos a una velocidad muy alta e independientemente uno del otro. Los productores no reciben un acuse de recibo de los corredores y envían datos a una velocidad que los corredores pueden manejar. Pueden buscar corredores y comenzar a enviar mensajes tan pronto como comiencen los corredores. El productor es responsable de elegir qué mensaje asignar a qué partición dentro del tema. Esto se puede hacer de forma circular simplemente para equilibrar la carga o se puede hacer de acuerdo con alguna función de partición semántica (por ejemplo, basada en alguna tecla del mensaje).

3. Zookeeper

Es la unidad que gestiona y coordina a los corredores. El cuidador del zoológico notifica a un productor o consumidor en caso de que se agregue o falle un corredor. Cada corredor envía solicitudes de latidos al cuidador del zoológico en un intervalo regular mientras esté vivo. El cuidador del zoológico también mantiene información sobre los temas y las compensaciones de los consumidores.

4. Consumidor

Es la unidad que lee los mensajes de los temas. Un consumidor puede suscribirse y leer más de un tema. Un consumidor puede trabajar en paralelo con otros consumidores (en este caso, cada partición será leída por un solo consumidor) formando un grupo de consumidores. No funciona en sincronización con los productores. El consumidor tiene que mantener cuántos mensajes ha leído usando el desplazamiento de partición. Si un consumidor acepta un desplazamiento de partición particular, implica que ya ha consumido los mensajes anteriores en la partición.

Conclusión

En este artículo, hemos aprendido cómo podemos usar varias herramientas de Kafka para administrar nuestro clúster de Kafka de manera efectiva. También hemos aprendido sobre los diversos componentes del ecosistema Kafka y cómo interactúan entre sí.

Artículos recomendados

Esta es una guía de las herramientas de Kafka. Aquí discutimos los tipos de herramientas Kafka, varios componentes de Kafka junto con la arquitectura Kafka. También puede consultar el siguiente artículo para obtener más información:

  1. Las mejores aplicaciones de Kafka
  2. Explicación de la arquitectura de Big Data
  3. Principales herramientas de ciencia de datos
  4. Diferencias entre Kafka y Spark

Categoría: