如何并行发送/处理kafka主题/分区?

ht4b089n  于 2021-06-04  发布在  Flume
关注(0)|答案(2)|浏览(339)

我有一个flume代理(1个源,1个通道,1个接收器),它从特定目录(spooldir)读取数据并发送到kafka接收器。根据我的观察,它只是写入特定的分区。
将采用什么配置来启用对kafka主题/分区的并行发送/处理?

bvn4nwqk

bvn4nwqk1#

您可以尝试添加另一个使用spooldir源和通道的接收器。
所以大致是这样的:Flume-通道1-Flume1-Flume2
不确定是否需要其他频道,因为您可能会从spooldir源中重新读取项目。

guykilcj

guykilcj2#

默认情况下,事件在分区之间按 key 标题。如果您想自己对数据进行分区,那么您需要使用拦截器,拦截器将设置 partitionIdHeader .
如果您需要向多个主题发送数据,而不只是需要为同一个源添加更多频道,并将每个频道连接到Kafka接收器:

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

相关问题