解决 java.nio.channels.UnresolvedAddressException 本地连接HDFS地址解析异常

本地调试代码,发现连接hdfs时会报地址解析异常

情况一 host没配对

Hadoop集群部署在 服务器Mi上,ip地址为10.xxx.xxx.xx

修改本地hosts,加入映射

10.xxx.xxx.xx  Mi

查看服务器hostname,发现是带有domain的,为:Mi.novalocal

修改本地hosts,带上这个完整的hostname

10.xxx.xxx.xx  Mi.novalocal  Mi

问题解决!

情况二 host没配全

如Hadoop集群有10台hdfs DataNode节点,需要在本地全部配好hosts才行。我一开始只配了其中前8台,出现这个问题,全部配好hosts问题解决。

因为当客户端向 HDFS 发起读写请求时,NameNode 会根据目标文件的 block 存储位置返回一组相应的 datanode 节点给客户端,可以是集群中的任意节点。

例如只配了01-08机器的hosts,向hdfs上传文件时,NameNode返回了三个节点(02,05,09)要求客户端写入,但是09的host没配,就会报错

posted @ 2020-11-27 11:29  BuptWade  阅读(5962)  评论(0)    收藏  举报