Rééquilibrage d'un cluster Kafka
Rééquilibrez les clusters Kafka Big Data Service pour définir le nombre de copies du sujet sur l'ensemble du cluster.
Dans un cluster Kafka, les brokers assurent une haute disponibilité pour traiter les nouveaux événements. Kafka, tolérant les pannes, les répliques des messages sont conservées sur chaque broker et mises à disposition en cas de panne. A l'aide du facteur de réplication, vous pouvez définir le nombre de copies de la rubrique dans le cluster.
Ajoutez de nouveaux brokers ou disques à un broker Kafka existant en affectant un ID de broker, des processus d'écoute et un répertoire de journalisation uniques à partir des configurations Ambari pour Kafka. Toutefois, aucune partition de données des rubriques existantes du cluster n'est affectée à ces brokers/disques. Sauf si vous déplacez les partitions ou créez de nouveaux sujets, les courtiers ne feront pas beaucoup de travail. Pour résoudre ce problème, l'outil kafka-reassign-partitions peut être utilisé.
Création du fichier JSON de sujets à déplacer
Créez un fichier JSON topics-to-move pour indiquer les rubriques à réaffecter.
topics-to-move indique à l'outil kafka-reassign-partitions les partitions à examiner lors de la génération d'une proposition pour la configuration de réaffectation. Vous devez créer le fichier JSON topics-to-move de toutes pièces. Le format du fichier est le suivant :
{"topics": [{"topic": "topic1"}, {"topic": "topic2"}], "version":1 }
Pour plus d'informations sur la création du fichier JSON topics-to-move, reportez-vous à Exécution des partitions de réaffectation avec kafka-reassign-partitions-tool.
JSON de configuration de réaffectation
Ce fichier JSON est un fichier de configuration qui contient les paramètres utilisés dans le processus de réaffectation. Vous créez ce fichier, mais une proposition pour son contenu est générée par l'outil. Lorsque l'outil kafka-reasssign-partitions est exécuté avec l'option --generate, il génère une configuration proposée qui peut être affinée et enregistrée en tant que fichier JSON. La création du fichier de cette manière correspond au JSON de configuration de réaffectation. Pour générer une proposition, l'outil requiert un fichier topics-to-move en entrée. Le format du fichier est le suivant :
{"version":1,
"partitions":
[{"topic":"topic1","partition":1001,"replicas":[1001,1002],"log_dirs":["any","any"]},
{"topic":"topic1","partition":1002,"replicas":[1002,1001],"log_dirs":["any","any"]},
{"topic":"topic2","partition":1003,"replicas":[1002,1001],"log_dirs":["any","any"]}]
}Pour plus d'informations sur la création du fichier JSON topics-to-move, reportez-vous à Exécution des partitions de réaffectation avec kafka-reassign-partitions-tool.
Propriétés de configuration de la réaffectation
La configuration de réaffectation contient plusieurs propriétés.
| Propriétés | Description |
|---|---|
topic
|
Spécifie la rubrique. |
partition
|
Spécifie la partition. |
replicas
|
Spécifie les brokers auxquels la partition sélectionnée est affectée. Les courtiers sont répertoriés dans l'ordre, ce qui signifie que le premier courtier de la liste est toujours le leader de cette partition. Changez l'ordre des courtiers pour résoudre les problèmes d'équilibrage des leaders parmi les courtiers. Modifiez les ID de courtier pour réaffecter des partitions à différents courtiers. |
log_dirs
|
Indique le répertoire de journalisation des brokers. Les répertoires de journaux sont répertoriés dans le même ordre que les brokers. Par défaut, any est indiqué comme répertoire de journalisation, ce qui signifie que le broker est libre de sélectionner l'emplacement de la réplique. Par défaut, l'implémentation actuelle du broker sélectionne le répertoire de journalisation à l'aide d'un algorithme de tourniquet. Un chemin absolu commençant par / peut être utilisé pour définir explicitement l'emplacement de stockage de la réplique de partition. |
Exécution des partitions de réaffectation avec kafka-reassign-partitions-tool
- Pour un cluster Kafka avec de grandes données, utilisez cet outil avec soin. Pour déplacer de nombreuses partitions, nous vous recommandons d'exécuter l'outil par lots de trois ou quatre partitions à la fois.
- Assurez-vous que les brokers sont en bon état avant d'exécuter cet outil.
- Cet outil ne peut pas être utilisé pour créer une réplique non synchronisée dans la partition leader.
- Redistribuez la charge lorsque le système a une capacité de 70 %.