flume内存通道何时不可恢复,为什么?

rkue9o1l  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(455)

我弄不明白,当使用文件通道时,flume数据是如何恢复的,而使用内存通道时,flume数据是如何恢复的。
我尝试了一个KafkaFlume,当我放下Flume,而阅读,Kafka读取的数据(文件)通道正常。当flume重启时,管道继续以可靠的方式传输数据。那么内存通道是如何不可恢复的呢?。在这种情况下,我需要恢复channel?中的数据,特别是当flume开始从保存的偏移量读取文件时。

ncgqoxb0

ncgqoxb01#

您可以重新启动kafka来检查消息是否丢失。
抵销概念:这取决于flume事务处理。在flume重启的过程中,一些事务可能会被提交,但是处理可能会由于连接丢失而失败。例如:您有一个事务需要进行一些处理,然后将其存储在db中。即使flume接收器抛出任何异常,也有transaction.commit()。所以,当处理逻辑抛出异常时,您将在重启过程中丢失数据。提交事务并增加偏移量。
因此,在重新启动进程之前进行偏移更安全。你应该跟着
采取出口抵消
停止Flume
导入偏移量
启动Flume

相关问题