最近测试flume的性能过程中发现一个问题,flume有数据在传输时,一旦重启可能会导致sink出发事务回滚,一批数据被重发。
10 Aug 2017 07:53:33,518 ERROR [SinkRunner-PollingRunner-LoadBalancingSinkProcessor] (org.apache.flume.sink.elasticsearch.ElasticSearchSink.process:209) - Failed to commit transaction. Transaction rolled back.
以kafka->flume为例,以下提供一个解决思路:
1、给kafkaSource增加一个暂停消费功能。
2、通过zookeeper来控制kafkaSource消费开关。
通过修改后,需要维护flume的时候,先在zk中修改数据,让消费控制器暂停flume的消费,以便于安全维护。
转载请注明出处: http://www.julyme.com/20170815/92.html
打赏一个呗~~(微信)
Julyme
感觉还行吧。
Julyme的IT技术分享