2017-05-02 6 views
0

私は特定のディレクトリ(Spooldir)からデータを読み込み、Kafka Sinkに送信する1つのflumeエージェント(1つのソース、1つのチャネル、1つのシンク)を持っています。私の観察に基づいて、特定のパーティションに書き込むだけです。kafkaトピック/パーティションへの送信/処理を並列化する方法は?

kafkaトピック/パーティションへの並列送信/処理を可能にする設定は何ですか?

答えて

0

あなたのspooldirソースとチャンネルを使用する別のシンクを追加しようとすることができます。

だから、の線に沿って何か: シンク - チャンネル1 - シンク1 - シンク2

あなたは、あなたのspooldirソースからアイテムを再読み込み可能性があるとして、あなたは別のチャネルが必要な場合はわかりません。

0

デフォルトでは、イベントはパーティション間にkeyヘッダーで分散されます。自分でデータを分割する場合は、インターセプタを使用する必要があります。これにはpartitionIdHeaderが設定されます。

あなたはただカフカシンクに同じソースのためのより多くのチャンネルを追加し、各チャネルを接続する必要があるよりも、複数のトピックにデータを送信する必要がある場合:

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 
関連する問題