下载了spark 1.4,运行spark-shell时遇到以下错误:
java.net.UnknownHostException: UKON-M-Q0EP: UKON-M-Q0EP: nodename nor servname provided, or not known
at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
这并不是spark特有的错误,而是Mac上使用java常见的一个问题,是application在查询主机对应的ip地址时无法查询到ip地址。
其中UKON-M-Q0EP
是我Mac的主机名,可以通过Mac terminal的hostname
命令查询到:
UKON-M-Q0EP:~ ukon$ hostname
UKON-M-Q0EP
但是系统却不能找到此主机名的ip地址,(其实我是不太能理解为什么不能找到,系统就不能智能一点吗?但的确是不能),这可以通过下面的命令来验证:
UKON-M-Q0EP:~ ukon$ ping UKON-M-Q0EP
^C
但是如果我在/etc/hosts
文件中加入此主机名与127.0.0.1
就能够ping到了:
UKON-M-Q0EP:~ ukon$ ping UKON-M-Q0EP
PING ukon-m-q0ep (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.056 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.133 ms
64 bytes from 127.0.0.1: