HDFS报EOFException异常

当HDFS出现大量block丢失,DataNode异常重启后,通过分析DataNode和NameNode的日志,发现是由于ipc数据包过大导致的EOFException异常。通过增加配置允许更大的ipc数据包,并重启相关节点,成功解决问题。此问题由小文件数量过多,内存不足引起,提醒在维护HDFS时考虑block数量对资源的影响。
摘要由CSDN通过智能技术生成

现象
突然收到DataNode挂掉异常的报警,重启完成后,进程虽然在运行,但是NameNode的WebUI上显示大量的block丢失。

There are 12622047 missing blocks.
Number of Under-Replicated Blocks 14436901
重新启动的DataNode节点block数量为0,明显不正常
HDFS在对丢失的block做恢复,missing blocks的数量在减少,但是丢失的的太多了,恢复速度很慢,这种情况肯定不能指望集群自动恢复的。

看了下DataNode的数据目录,大小没什么变化,第一感觉应该是block的数据还在,但不知为何NameNode认为这些block丢失了。

业务侧报警持续,情况紧急,需要赶紧分析原因,恢复这些missing的block。

定位
看了下出现异常的DataNode节点日志,发现以下异常

2018-09-04 23:24:38,446 WARN org.apache.hadoop.hdfs.server.datanode.DataBlockScanner: No block pool scanner found for block pool id: BP-21853433-xxxxxxxxx-1484835379573
2018-09-05 00:45:13,777 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Unsuccessfully sent block report 0xa7b72c5217b7ac,  containing 1 storage report(s), of which we sent 0. The reports had 6076010 total blocks and used 0 RPC(s). This took 1636
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值