问题描述
根据Flume1.9.0的官方文档,Kafka Source的setTopicHeader默认为True,会将自己的topic加入topicheader中。
而kafka sink的 allowTopicOveride参数默认为true,会使用topicheader中的topic覆盖我们设置的topic。
这就导致了Kafka Source发送到Kafka Sink的数据又会被重新发往Kafka Source。
对于这个问题的成因,其他很多博客有更深入的解释,但是给出的解决方案却相对复杂,这里随机引用一个博文供大家参考:
https://blog.csdn.net/u010170616/article/details/80844686
解决方案
将Kafka Sink的allowTopicOveride参数设置为false,例如
a1.sinks.k2.allowTopicOverride = false