2017-05-02 1 views
0

Ich habe 1 Kanalagent (1 Quelle, 1 Kanal, 1 Senke), die Daten aus einem bestimmten Verzeichnis (Spooldir) liest und an Kafka Sink sendet. Basierend auf meiner Beobachtung wird nur auf eine bestimmte Partition geschrieben.Wie parallel senden/verarbeiten zu kafka topic/partition?

Was wird Konfiguration sein, um paralleles Senden/Verarbeiten zu kafka Thema/Partition zu ermöglichen?

Antwort

0

Sie könnten versuchen, eine weitere Senke hinzuzufügen, die Ihre Spooldir-Quelle und Ihren Kanal verwendet.

So etwas entlang der Linien von: Sink - Kanal 1 - Sink 1 - Wanne 2

Nicht sicher, ob Sie einen anderen Kanal benötigen, wie Sie dann Elemente aus Ihrem spooldir Quelle nachgelesen könnten.

0

Standardmäßig werden Ereignisse zwischen den Partitionen durch key Header verteilt. Wenn Sie Daten selbst partitionieren möchten, müssen Sie den Interceptor verwenden, der partitionIdHeader setzt.

Wenn benötigen Sie Daten an mehrere Themen zu senden, als Sie gerade jeden Kanal zu einem Kafka Waschbecken müssen mehr Kanal für die gleiche Quelle hinzufügen und verbinden:

a1.sources.r1.channels = c1 c2 

a1.sinks.k1.channel = c1 
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink 
a1.sinks.k1.kafka.topic = topic1 
... 
a1.sinks.k2.channel = c2 
a1.sinks.k2.type = org.apache.flume.sink.kafka.KafkaSink 
a1.sinks.k2.kafka.topic = topic2