fy
发布于

connot fetch block locations

基本信息

系统 : CentOS Linux release 7.4.1708 (Core)
产品 : OushuDB
模块 : HDFS
子模块 : -

描述详述

connot fetch block locations: 
DETAIL: HdfsIoException: Unexpected:
when unwrap the rpc remote exception "java.lang.ArrayIndexOutBoundException",
java.lang.ArrayIndexOutOfBoundException in/hawq/depends/libhdfs3/src/server/NamenodeImpl.cpp: 77

原因

当hdfs datanode上出现currupt block上报给namenode时,                           
namenode内存中blockmap和corruptReplicas中有几率信息不同步,                     
这个客户端获取block信息时出现数组越界情况导致获取block location信息失败。           
datenode上currupt block后续会自动被清理,不会复现相同问题。
该问题的issue是https://issues.apache.org/jira/browse/HDFS-11445,该问题在高版本hadoop(2.8.2, 2.9.0)中被修复

解决方案

## 方案一 
等待即可;因为HDFS有自动修复机制;大约6小时

## 方案二
hdfs dfsadmin -triggerBlockReport datanode_host:ipc_port

## 方案三
升级HDFS
评论
    test