1. 停止flume作业,释放对应目录文件的租约 hdfs fsck / -openforwrite。
hdfs fsck /user/bd/ -openforwrite | grep 'OPENFORWRITE' | grep -o '/[^ ]*'
2、查到所有未释放租约的文件 hdfs debug recoverLease -path 文件位置 -retries 重试次数 2。
hdfs debug recoverLease -path /user/2023/02/21/raw-data-TA1-1.tmp -retries 3
3、hdfs.fileCloseByEndEvent = false 添加配置项,之后重启flume作业