Creación de un cliente de Kafka
El cliente de Kafka es una aplicación que permite interactuar con un cluster de Kafka. Las aplicaciones de productor se crean para enviar datos a temas de Kafka y aplicaciones de consumidor para leer los mensajes de temas de Kafka.
Antes de empezar
- Confirme que ha creado un cluster de Kafka en OCI Streaming con Apache Kafka.
- Cree una instancia informática en el arrendamiento de OCI.
- Confirme que puede conectarse a la instancia informática.
Instalación de Kafka
En cada instancia informática que cree, instalará las bibliotecas y herramientas del cliente Apache Kafka.
Configuración del cliente
En cada instancia informática que cree, configure el archivo de propiedades del cliente.
Uso de la CLI de Kafka
Después de instalar y configurar la aplicación cliente, utilice las herramientas incorporadas de la CLI de Apache Kafka para gestionar e interactuar con el cluster de Kafka en Streaming con Apache Kafka.
Apache Kafka incluye algunos clientes incorporados. Por ejemplo, los clientes Java Consumer y Java Producer.
Además, la comunidad de Kafka proporciona muchos más clientes que puede utilizar.
A continuación se muestran algunas referencias rápidas útiles:
- inicio rápido de Apache Kafka
- Adición y eliminación de temas
- Actualización de temas
Gestión de la configuración del cliente
Los clientes de Kafka necesitan configuraciones específicas para especificar cómo el cliente debe enviar y recibir mensajes, gestionar errores y gestionar su conexión al cluster de Kafka.
- Referencia de configuración de tema
- Referencia de configuración de productor
- Referencia de configuración de consumidor
Apache Kafka proporciona herramientas de interfaz de línea de comandos (CLI) en el directorio /bin
. Por ejemplo, la herramienta kafka-configs.sh
disponible en las bibliotecas de cliente de Kafka instaladas se puede utilizar para gestionar las configuraciones de cliente.
A continuación, se muestra un ejemplo de comandos comunes de la CLI. Obtener detalles del cluster para la URL de inicialización de datos en los comandos. Especifique la ruta al archivo client.properties
que ha creado al configurar el cliente.
Para ver la configuración de un tema, ejecute la herramienta kafka-configs.sh
especificando el nombre del tema para el que desea ver la configuración.
bin/kafka-configs.sh
--bootstrap-server $URL
--command-config /path/to/client.properties
--entity-type topics
--entity-name $TOPIC_NAME
--describe
Para ver la información de partición y replicación de todos los temas, ejecute la herramienta kafka-configs.sh
.
bin/kafka-configs.sh
--bootstrap-server $URL
--command-config /path/to/client.properties
--describe | grep Factor | sort
Para cambiar una configuración de tema, como retención y segmento, ejecute la herramienta kafka-configs.sh
especificando el nombre del tema para el que desea cambiar la configuración.
bin/kafka-configs.sh
--bootstrap-server $URL
--command-config /path/to/client.properties
--entity-type topics
--entity-name $TOPIC_NAME
--alter
--add-config retention.ms=1, segment.ms=60000
Para eliminar una configuración de tema, como la retención y el segmento, ejecute la herramienta kafka-configs.sh
especificando el nombre del tema para el que desea eliminar la configuración.
bin/kafka-configs.sh
--bootstrap-server $URL
--command-config /path/to/client.properties
--entity-type topics
--entity-name $TOPIC_NAME
--alter
--delete-config retention.ms,segment.ms
Para ver el uso del disco para cada partición, ejecute la herramienta kafka-log-dirs.sh
y especifique la ruta al archivo log de salida.
bin/kafka-log-dirs.sh
--bootstrap-server $URL
--command-config /path/to/client.properties
--describe | tail -1 > /tmp/logdirs.output.txt
A continuación, ejecute el siguiente comando para filtrar el archivo log y mostrar su contenido. Ajuste brokers[0]
para dirigirse a un broker específico.
cat /tmp/logdirs.output.txt
| jq -r '.brokers[0] | .logDirs[0].partitions[] | .partition + " " + (.size|tostring)'
| sort
| awk 'BEGIN {sum=0} {sum+=$2} END {print sum}'
Para activar el log de rastreo para un broker, cree un archivo log4j.properties
con las siguientes propiedades.
log4j.rootLogger=TRACE, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
A continuación, ejecute el siguiente comando.
export KAFKA_OPTS="-Dlog4j.configuration=file:/path/to/log4j.properties"
Supervisión de métricas de cliente
Debe supervisar las aplicaciones cliente y el cluster de Kafka.
Utilice el servicio OCI Monitoring para supervisar las métricas emitidas por los agentes de Kafka.
Para las métricas del cliente, debe crear su propio panel de control personalizado para supervisar las aplicaciones cliente. Como mínimo, controle las siguientes métricas de cliente:
record-send-rate
request-latency-avg
error-rate
records-consumed-rate
lag
fetch-latency-avg
Retries
disconnects