eclipse连接hadoop报错Could not obtain block

1.hadoop2.7.7版本

2报错截图图片说明

3.没有出现挂datanode的问题[图片]

图片说明

4.可以从web端正常访问和下载

请求namenode返回datanode的内网ip,通过修改本地 hosts 文件,把 namenode、datanode 的外网 IP 和 hostname 的映射关系加进去(前提是得有外网IP)

然后在代码中设置:

Configuration conf = new Configuration();
conf.set("dfs.client.use.datanode.hostname", "true");

就可以了