不管,你是在windows下作mapreduce的编程开发,还是想把App部署到已有的hadoop集群上run on hadoop,当然单机伪分布就不说了,有可能遇到以下问题:
run on hadoop时出现 java.net.UnknownHostException:XXX(比如master, slave)。这是因为,这个异常其实是linux无法解析域名引起的,我们在linux下配置hadoop集群的时候,对core-site hdfs-siter的xml配置文件进行配置,nodes之间进行通信时用到了对应ip的机器别名,这个别名在linux下有映射文件(/etc/hosts)比如:
127.0.0.1 localhost
::1 localhost
10.37.17.1XX master
10.37.17.1XX slave
而windows端开发的程序在提交时,无法识别。
解决办法是:windows其实也有这个配置文件,位置在:C:\Windows\System32\drivers\etc\hosts\,用管理员权限打开它,将:
10.37.17.1XX master
10.37.17.1XX slave
加入其中便可。