Une fois le sujet Kafka créé par un producteur ou un administrateur, comment changeriez-vous le nombre de répliques de ce sujet?
Edit: On m'a prouvé que j'avais tort - veuillez vérifier l'excellente réponse de Lukdumi.
Je laisse ma réponse originale pour la complétude pour le moment.
Je ne pense pas que tu peux. Normalement, ce serait quelque chose comme
./kafka-topics.sh --zookeeper localhost: 2181 --alter --topic test2 - facteur de réplication 3
mais ça dit
L'option "[facteur de réplication]" ne peut pas être utilisée avec l'option "[altérer]"
Il est amusant de pouvoir modifier le nombre de partitions à la volée (ce qui est souvent une action extrêmement destructive lors de l'exécution), mais vous ne pouvez pas augmenter le facteur de réplication, qui devrait être transparent. Mais rappelez-vous qu’il s’agit de 0,10 et non de 10,0 ... Voir ici la demande d’amélioration https://issues.Apache.org/jira/browse/KAFKA-1543
Si vous avez beaucoup de partitions, utiliser kafka-reassign-partitions
pour générer le fichier json requis par la réponse de Łukasz Dumiszewski (et la documentation officielle) peut vous faire gagner un temps précieux. Voici un exemple de réplication d'un sujet de 64 partitions de 1 à 2 serveurs sans avoir à spécifier toutes les partitions:
expand_topic=TestTopic
current_server=111
new_servers=111,222
echo '{"topics": [{"topic":"'${expand_topic}'"}], "version":1}' > /tmp/topics-to-expand.json
/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file /tmp/topics-to-expand.json --broker-list "${current_server}" --generate | tail -1 | sed s/\\[${current_server}\\]/\[${new_servers}\]/g | tee /tmp/topic-expand-plan.json
/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file /tmp/topic-expand-plan.json --execute
/bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic ${expand_topic}
Les sorties:
Topic:TestTopic PartitionCount:64 ReplicationFactor:2 Configs:retention.ms=6048000
Topic: TestTopic Partition: 0 Leader: 111 Replicas: 111,222 Isr: 111,222
Topic: TestTopic Partition: 1 Leader: 111 Replicas: 111,222 Isr: 111,222
....