flume系列之:Error while trying to hflushOrSync,查看hdfs生成的文件发现文件损坏
一、flume完整报错如下所示
flume日志一直报如下错误:
13 Mar 2022 10:45:30,319 ERROR [hdfs-sink1-call-runner-400] (org.apache.flume.sink.hdfs.AbstractHDFSWriter.hflushOrS ync:269) - Error while trying to hflushOrSync!
264 25 Mar 2022 10:45:30,319 WARN [hdfs-sink1-roll-timer-3] (org.apache.flume.sink.hdfs.BucketWriter$CloseHandler.close :396) - Closing file: {path}.gz.tmp failed. Will retry again in 180 seconds.
265 java.io.IOException: Failing write. Tried pipeline recovery 5 times without success.
266 at org.apache.hadoop.hdfs.DataStreamer.processDatanodeOrExternalError(DataStreamer.java:1250)
267 at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:667)
查看Hdfs生成文件报错如下所示:
Cannot obtain block l
博客详细记录了使用Flume时遇到的hflushOrSync错误,以及由此导致的HDFS文件损坏问题。在分析了报错日志和HDFS文件状态后,发现文件的平均块复制数为0,可能是由于HDFS服务重启而未正确关闭文件。文件损坏可能因HDFS租约未释放造成,但这种损坏是可修复的。解决方案包括特定的HDFS命令来恢复损坏文件。
订阅专栏 解锁全文
1156

被折叠的 条评论
为什么被折叠?



