我正在机器上为hadoop设置namenode node1.homer
.
内容 /etc/hosts
包含: 10.0.0.2 node1.homer node1
以及 /etc/resolv.conf
包含:
nameserver 8.8.8.8
search localdomain
这个 /etc/nsswitch.conf
还指定顺序 hosts: files dns
.
hadoop namenode设置为 hdfs://node1:9000
现在当我跑的时候 hadoop namenode
,它会挂起大约5-10秒。进一步调查使用 tcpdump
显示hadoop正在尝试通过解析namenode 8.8.8.8
,由于我的网络设置,速度非常慢。
当我评出 nameserver 8.8.8.8
,相同的命令在不到1秒的时间内运行,因为它似乎可以获取 node1
直接从 /etc/hosts
.
那么,在java中,或者至少在hadoop中,名称解析总是首先解析dns,并且只有在失败时才使用dns吗 /etc/hosts
? 我一直试图寻找类似的经历,但没有结果。
暂无答案!
目前还没有任何答案,快来回答吧!