首页 文章

Apache Flume HDFS接收器文件写入有哪些保证?

提问于
浏览
0

如果Flume代理在HDFS文件写入中间被杀(比如使用Avro格式),有人可以了解一下会发生什么吗?该文件是否会损坏,所有事件都会丢失?

据我所知,Flume数据链的不同元素之间存在交易(source-> channel-> sink) . 但我相信HDFS文件可能会在连续的channel-> sink事务(如.tmp)之间保持打开状态 . 因此,如果100个事件的一个事务成功(并且事件存储在文件中,事务已提交)并且下一个事件在HDFS写入的中间失败,则可能是来自第一个事务的原始100个事件不可读(因为例如文件损坏?) . Flume如何确保第一笔交易的原始100件事件不会受到此类故障的影响?或者也许不保证吗?

1 回答

  • 0

    如果Flume代理在HDFS文件写入过程中被终止,则该文件不会被破坏,也不会丢失数据 .

    当水槽代理被杀死时,如果水槽正在写入文件说FlumeData123456789.tmp,那么在该点之前写入该文件的所有记录将保持不变,文件将保存为FlumeData123456789 .

相关问题