2016-08-23 4 views
4

Ich bin ein neuer Benutzer von Apache Kafka und lerne immer noch die Interna kennen.Anzahl der Partitionen in einem Kafka-Thema von einem Kafka-Client erhöhen

In meinem Anwendungsfall muss ich die Anzahl der Partitionen eines Themas dynamisch vom Kafka Producer-Client erhöhen.

Ich habe andere ähnliche questions in Bezug auf die Erhöhung der Partitionsgröße gefunden, aber sie verwenden die zookeeer Konfiguration. Aber mein KafkaProducer hat nur die Kafka-Broker-Konfiguration, aber nicht die Zookeeper-Konfiguration.

Gibt es eine Möglichkeit, die Anzahl der Partitionen eines Themas von der Produzentenseite zu erhöhen? Ich benutze Kafka Version 0.10.0.0.

Antwort

4

Ab Kafka 0.10.0.1 (neueste Version): Wie Manav sagte, ist es nicht möglich, die Anzahl der Partitionen vom Producer Client zu erhöhen.

Blick in die Zukunft (nächste Versionen): In einer kommenden Version von Kafka werden Clients in der Lage sein, einige Themenmanagementaktionen durchzuführen, wie in KIP-4 beschrieben. Ein Großteil der KIP-4-Funktionalität ist bereits fertiggestellt und in Kafkas trunk verfügbar; Der Code in trunk ab heute ermöglicht es dem Kunden, Themen zu erstellen und zu löschen. Aber leider ist es für Ihren Anwendungsfall immer noch nicht möglich, die Anzahl der Partitionen zu erhöhen - dies ist im Umfang von KIP-4 (siehe Alter Topics Request), ist aber noch nicht abgeschlossen.

TL; DR: Mit den nächsten Versionen von Kafka können Sie die Anzahl der Partitionen eines Kafka-Themas erhöhen, aber diese Funktionalität ist noch nicht verfügbar.

+0

Danke @miguno für das Update. Das sieht nach einem wirklich coolen Feature aus. –

+0

Danke @miguno. Ich habe eine Lösung gefunden. Ich freue mich auf dieses Feature in den zukünftigen Versionen. – kudoXI

2

Es ist nicht möglich, die Anzahl der Partitionen vom Producer-Client zu erhöhen. Verwenden Sie einen bestimmten Anwendungsfall, warum Sie den Broker nicht verwenden können, um dies zu erreichen?

Aber mein kafkaProducer hat nur die Kafka-Broker-Konfiguration, aber nicht die zookeeper-Konfiguration.

Ich glaube nicht, dass jeder Client Sie die Broker-Konfiguration ändern kann. Sie können nur auf die serverseitige Konfiguration zugreifen (lesen).

0

Ihr Hersteller kann verschiedene Schlüssel für ProducerRecord bereitstellen. Der Broker würde sie in verschiedene Partitionen stellen. Wenn Sie beispielsweise zwei Partitionen benötigen, verwenden Sie die Tasten "abc" und "xyz".

Dies kann auch in Version 0.9 durchgeführt werden.

Verwandte Themen