一、 报错信息:Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out
错误描述:把Hadoop集群架设好以后,运行TestDFSIO基准测试,发现总是可以map成功,但是reduce总是卡在某个位置13%、11%、16%等,等待七分钟左右,输出信息Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out。
原因分析:由于是在局域网中通信,使用的是主机名,主机名如果无法解析,则DataNode彼此无法找到对方,使得数据快无法复制,从而产生上述问题。
解决办法:在/etc/hosts文件中加入主机名和IP地址的映射
例如:我的hosts文件为:
127.0.0.1 localhost
192.168.1.2 chw-desktop2
192.168.1.3 chw-desktop
192.168.1.4 chw-ProLiant-DL380-G4
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
其中chw-desktop、chw-desktop2、chw-ProLiant-DL380-G4分别为其他DataNode的主机名,前面对应的是它们的IP 地址;
修改所有节点的hosts信息,搞定!!!