datanode修改本地存储路径后,数据不一致导致namenode报一下错误:
2017-11-16 17:31:44,759 WARN org.apache.hadoop.hdfs.server.balancer.Balancer: Exception while getting block list org.apache.hadoop.ipc.RemoteException(java.lang.ArrayIndexOutOfBoundsException): java.lang.ArrayIndexOutOfBoundsException
at org.apache.hadoop.ipc.Client.call(Client.java:1411) at org.apache.hadoop.ipc.Client.call(Client.java:1364) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206) at com.sun.proxy.$Proxy12.getBlocks(Unknown Source)
这个应该是数据备份数不一致的原因,通过bin/hadoop fsck /查看很多文件备份数不足3份,然后将全部文件备份数设置为3份后问题解决,设置备份数命令bin/hadoop dfs -setrep -w 3 -R /