我有1个水槽代理(1个源,1个通道,1个接收器)从特定目录(Spooldir)读取数据并发送给Kafka Sink。根据我的观察,它只是写入特定的分区。
启用并行发送/处理到kafka主题/分区的配置是什么?
答案 0 :(得分:0)
您可以尝试添加另一个使用您的spooldir源和频道的接收器。
所以有些东西: 下沉 - 第1频道 - 水槽1 - 沉2
不确定您是否需要另一个频道,因为您可能会重新阅读来自您的spooldir来源的内容。
答案 1 :(得分:0)
默认情况下,事件通过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