En aquest tema, aprendrem com gestionar els temes de Kafka, que són una part fonamental de l'arquitectura de Kafka. Els temes són els canals a través dels quals es transmeten els missatges entre productors i consumidors. La gestió adequada dels temes és crucial per assegurar el rendiment i la fiabilitat del sistema.
Continguts
Creació de Temes
Per crear un tema a Kafka, utilitzarem l'eina de línia de comandes kafka-topics.sh
. Aquesta eina permet crear, llistar, descriure i eliminar temes.
Comandament per crear un tema
bin/kafka-topics.sh --create --topic <nom-del-tema> --bootstrap-server <servidor> --partitions <num-particions> --replication-factor <factor-replicació>
Exemple
bin/kafka-topics.sh --create --topic exemple-tema --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
Explicació
--create
: Indica que volem crear un tema.--topic
: El nom del tema que volem crear.--bootstrap-server
: L'adreça del servidor Kafka.--partitions
: El nombre de particions que tindrà el tema.--replication-factor
: El factor de replicació del tema.
Llistat de Temes
Per llistar tots els temes existents en un clúster de Kafka, utilitzarem el següent comandament:
Comandament per llistar temes
Exemple
Descripció de Temes
Per obtenir informació detallada sobre un tema específic, utilitzarem el següent comandament:
Comandament per descriure un tema
Exemple
Explicació
Aquest comandament proporciona informació sobre les particions, els líders de partició, els rèpliques i els ISR (in-sync replicas).
Eliminació de Temes
Per eliminar un tema, utilitzarem el següent comandament:
Comandament per eliminar un tema
Exemple
Nota
L'eliminació de temes ha d'estar habilitada en la configuració del servidor Kafka (delete.topic.enable=true
).
Modificació de Temes
Per modificar les propietats d'un tema existent, com el nombre de particions, utilitzarem el següent comandament:
Comandament per modificar un tema
bin/kafka-topics.sh --alter --topic <nom-del-tema> --bootstrap-server <servidor> --partitions <nou-num-particions>
Exemple
Explicació
Aquest comandament permet augmentar el nombre de particions d'un tema. No es pot reduir el nombre de particions una vegada creat el tema.
Exercicis Pràctics
Exercici 1: Crear un tema
- Crea un tema anomenat
test-tema
amb 4 particions i un factor de replicació de 1. - Llista tots els temes per verificar que
test-tema
ha estat creat correctament.
Solució
bin/kafka-topics.sh --create --topic test-tema --bootstrap-server localhost:9092 --partitions 4 --replication-factor 1 bin/kafka-topics.sh --list --bootstrap-server localhost:9092
Exercici 2: Descriure un tema
- Descriu el tema
test-tema
per obtenir informació detallada sobre les seves particions i rèpliques.
Solució
Exercici 3: Modificar un tema
- Augmenta el nombre de particions del tema
test-tema
a 6. - Descriu el tema
test-tema
per verificar que el nombre de particions ha estat actualitzat.
Solució
bin/kafka-topics.sh --alter --topic test-tema --bootstrap-server localhost:9092 --partitions 6 bin/kafka-topics.sh --describe --topic test-tema --bootstrap-server localhost:9092
Exercici 4: Eliminar un tema
- Elimina el tema
test-tema
. - Llista tots els temes per verificar que
test-tema
ha estat eliminat correctament.
Solució
bin/kafka-topics.sh --delete --topic test-tema --bootstrap-server localhost:9092 bin/kafka-topics.sh --list --bootstrap-server localhost:9092
Conclusió
En aquesta secció, hem après com gestionar els temes de Kafka, incloent la creació, llistat, descripció, eliminació i modificació de temes. La gestió adequada dels temes és essencial per mantenir un clúster de Kafka eficient i fiable. A la següent secció, explorarem com monitoritzar el rendiment i l'estat del clúster de Kafka.
Curs de Kafka
Mòdul 1: Introducció a Kafka
Mòdul 2: Conceptes bàsics de Kafka
Mòdul 3: Operacions de Kafka
Mòdul 4: Configuració i Gestió de Kafka
Mòdul 5: Temes Avançats de Kafka
- Optimització del Rendiment de Kafka
- Kafka en una Configuració Multi-Centre de Dades
- Kafka amb Registre d'Esquemes
- Kafka Streams Avançat