Création d'un client Kafka
Le client Kafka est une application qui vous permet d'interagir avec une grappe Kafka. Vous créez des applications de producteur pour envoyer des données aux sujets Kafka et aux applications de consommateur pour lire les messages des sujets Kafka.
Avant de commencer
- Confirmez que vous avez créé une grappe Kafka dans le service de diffusion en continu pour OCI avec Apache Kafka.
- Créez une instance de calcul dans la location OCI.
- Confirmez que vous pouvez vous connecter à l'instance de calcul.
Installation de Kafka
Sur chaque instance de calcul que vous créez, vous installez les bibliothèques et les outils clients Apache Kafka.
Configuration du client
Sur chaque instance de calcul que vous créez, vous configurez le fichier de propriétés du client.
Utilisation de l'interface de ligne de commande Kafka
Après avoir installé et configuré l'application client, utilisez les outils d'interface de ligne de commande Apache Kafka intégrés pour gérer la grappe Kafka et interagir avec celle-ci dans le service de diffusion en continu avec Apache Kafka.
Apache Kafka comprend des clients intégrés. Par exemple, les clients Consommateur Java et Producteur Java.
De plus, la communauté Kafka fournit de nombreux autres clients que vous pouvez utiliser.
Voici quelques références rapides utiles :
Gérer la configuration du client
Les clients Kafka ont besoin de configurations spécifiques pour spécifier comment le client doit envoyer et recevoir des messages, gérer les erreurs et gérer sa connexion à la grappe Kafka.
- Référence de configuration de sujet
- Référence de configuration du fournisseur
- Référence de configuration de consommateur
Apache Kafka fournit des outils d'interface de ligne de commande dans le répertoire /bin. Par exemple, l'outil kafka-configs.sh disponible dans les bibliothèques client Kafka installées peut être utilisé pour gérer les configurations de client.
Voici quelques exemples de commandes d'interface de ligne de commande courantes. Obtenez les détails de la grappe pour l'URL d'amorçage dans les commandes. Spécifiez le chemin d'accès au fichier client.properties que vous avez créé lors de la configuration du client.
Pour voir la configuration d'un sujet, exécutez l'outil kafka-configs.sh en spécifiant le nom du sujet pour lequel vous voulez voir la configuration.
bin/kafka-configs.sh
--bootstrap-server $URL
--command-config /path/to/client.properties
--entity-type topics
--entity-name $TOPIC_NAME
--describe
Pour voir les informations sur la partition et la réplication pour toutes les rubriques, exécutez l'outil kafka-configs.sh.
bin/kafka-configs.sh
--bootstrap-server $URL
--command-config /path/to/client.properties
--describe | grep Factor | sort
Pour modifier la configuration d'un sujet, comme la conservation et le segment, exécutez l'outil kafka-configs.sh en spécifiant le nom du sujet pour lequel vous voulez modifier la configuration.
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
Pour supprimer une configuration de sujet, telle que la conservation et le segment, exécutez l'outil kafka-configs.sh en spécifiant le nom du sujet pour lequel vous voulez supprimer la configuration.
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
Pour voir l'utilisation du disque pour chaque partition, exécutez l'outil kafka-log-dirs.sh et spécifiez le chemin d'accès au fichier journal de sortie.
bin/kafka-log-dirs.sh
--bootstrap-server $URL
--command-config /path/to/client.properties
--describe | tail -1 > /tmp/logdirs.output.txt
Exécutez ensuite la commande suivante pour filtrer le fichier journal et afficher son contenu. Ajustez brokers[0] pour cibler un courtier spécifique.
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}'
Pour activer le journal de suivi pour un courtier, créez un fichier log4j.properties avec les propriétés suivantes.
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
Ensuite, exécutez la commande suivante.
export KAFKA_OPTS="-Dlog4j.configuration=file:/path/to/log4j.properties"
Surveillance des mesures du client
Vous devez surveiller les applications clients et la grappe Kafka.
Utilisez le service de surveillance pour OCI pour surveiller les mesures émises par les courtiers Kafka.
Pour les mesures côté client, vous devez créer votre propre tableau de bord personnalisé pour surveiller les applications client. Surveillez au minimum les mesures client suivantes :
-
record-send-rate -
request-latency-avg -
error-rate -
records-consumed-rate -
lag -
fetch-latency-avg -
Retries -
disconnects