Wie verringern Sie die Anzahl der Partitionen Kafka-Thema?
Habe ich ein Thema mit 4 Partitionen auf Kafka. (set default number.partition=4
). Ich will jetzt die partition Nummer ändern von diesem Thema zu 3.
Ich habe versucht, läuft
./bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic my-topic --partitions 3
aber es ist keine änderung. Es hat immer noch 4 Partitionen.
Weiss jemand über diese?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Apache Kafka nicht unterstützt, verringern die Nummer der partition. Sie sollten sehen, das Thema als ganzes und die Partitionen sind eine Möglichkeit für das skalieren und die Leistung verbessert. So werden alle Daten zum Thema Strom auf alle Partitionen und entfernen einer von Ihnen bedeutet Datenverlust.
Kann man nicht einfach eine partition löschen, denn das würde zu Datenverlust führen und auch die restlichen Daten sind der Schlüssel würde nicht richtig verteilt werden, so dass neue Nachrichten nicht bekommen würde, gerichtet auf die gleichen Partitionen wie alte Nachrichten mit dem gleichen Schlüssel.
Aus den oben genannten Gründen Kafka nicht unterstützt abnehmende partition zählt, auf ein bestehendes Thema.
Was Sie tun können, ist, ein neues Thema erstellen mit 3 Partitionen und dann schreiben Sie ein kleines Programm (oder ein vorhandenes tool für die Replikation) kopieren der Daten von der alten 4-partition Thema der neuen 3-partition Thema. So werden Sie alles über die gleichen Partitionierer und alle Ihre keyed-Nachrichten werden am Ende in der rechten partition. Sobald Sie zufrieden sind, werden die Daten alle kopiert, dann das original löschen 4-partition Thema.
Wenn Sie müssen weiterhin das gleiche Thema Namen wie das ursprüngliche Thema dann erstellen Sie einfach ein neues Thema mit dem ursprünglichen Namen, kopieren Sie die Daten zurück an den neu partitioniert Thema, und löschen Sie die temporären Neupartitionierung Thema.
Abnehmende Anzahl partition wird nicht unterstützt.