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作业
文章讲述了如何停止Flume作业以释放HDFS中文件的租约,使用hdfsfsck和hdfsdebugrecoverLease命令查找并处理未释放的租约文件,并介绍了一个配置项hdfs.fileCloseByEndEvent的设置,该设置在重启Flume作业后有助于避免类似问题。
949

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



