hdfs出现Cannot obtain block length for LocatedBlockt

网友投稿 298 2022-11-22

hdfs出现Cannot obtain block length for LocatedBlockt

问题背景:

导致的原因:是因为2021/0913那天重启的hdfs的服务,flink实时任务还一直往hdfs里面写任务。(有些公司是因为Flume导致的)

所以这里的”Cannot obtain block length for LocatedBlock”结合字面意思讲应该是当前有文件处于写入状态尚未关闭,无法与对应的datanode通信来成功标识其block长度.

定位到了出问题的文件,是2021年09月13号的文件状态还是`openforwrite`, fsck检查结果如下:

检测代码

hdfs fsck /group/user/tools/meta/hive-temp-table -openforwrite

解决方案,释放文件租约:

hdfs debug recoverLease -path /group/user/tools/meta/hive-temp-table/test_sony_app_action/20210913/part-0-83 -retries 3

在重新跑任务,任务正常。

参考以下文章

​​Cannot obtain block length for LocatedBlock故障分析和解决 - Syn良子 - 博客园 (cnblogs.com)​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:巧用测试仪器解决错综复杂的无线网络问题
下一篇:微雪电子树莓派 Zero WH(套餐A)简介
相关文章

 发表评论

暂时没有评论,来抢沙发吧~