hadoop问题集:4.读取hdfs块报 Cannot obtain block length for LocatedBlocks

Caused by: java.io.IOException: Cannot obtain block length for LocatedBlock{BP-1543153613-192.168.200.60-1463200565636:blk_1305640536_1099879460161; getBlockSize()=0; corrupt=false; offset=0; locs=[10.0.0.1:50010, 10.0.0.2:50010, 10.0.0.3:50010]; storageIDs=[DS-22
77a588-22f5-4086-b78f-886f97952570, DS-a14b5023-ae0b-4d2f-b2e6-8b8eb9ce748c, DS-cbf5d184-751d-49fa-9ad6-7d420a7429f4]; storageTypes=[DISK, DISK, DISK]}

在读取文件的时候发生错误,原因是该文件处于openforwrite状态,即正在写入。正常情况下正在定入的文件是不会被程序看到的,这里是定入异常结束导致的问题,执行

hdfs fsck /hivedata/warehouse/liuxiaowen.db/lxw_product_names/  -openforwrite

发现该文件’MISS 1 BLOCK,size 0 byte’,块有问题,删除块即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值