MAC伪节点上的Hadoop:提供了节点名或服务名,或者未知

问题描述 投票:16回答:3

我是Hadoop新手。我使用[link

在我的MAC上安装了Hadoop

一开始它就像是一种魅力,但是当我从Eclipse运行相同的WordCount问题时,我遇到了这个问题:

ERROR security.UserGroupInformation: PriviledgedActionException as:<username> cause:java.net.UnknownHostException: <hostname>: <hostname>: hostname nor servname provided, or not known
Exception in thread "main" java.net.UnknownHostException: <hostname>: <hostname>: nodename nor servname provided, or not known
    at java.net.InetAddress.getLocalHost(InetAddress.java:1466)
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:960)
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:550)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580)
    at WordCount.main(WordCount.java:57)
Caused by: java.net.UnknownHostException: <hostname>: nodename nor servname provided, or not known
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)

这是我的conf文件的外观:

core-site.xml:

<configuration>

<property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
</property>

</configuration>

hadoop-env.sh

除缺省值外,还有以下条目:

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

hdfs-site.xml

<configuration>

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

</configuration>

mapred-site.xml

<configuration>
<property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
</property>
</configuration>

我也在错误的开头看到了这一点:

2013-10-11 21:03:08.795 java[7484:1903] Unable to load realm mapping info from SCDynamicStore
13/10/11 21:03:08 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
13/10/11 21:03:08 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
13/10/11 21:03:08 WARN mapred.JobClient: No job jar file set.  User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
13/10/11 21:03:08 INFO mapred.JobClient: Cleaning up the staging area file:/tmp/hadoop-<uname>/mapred/staging/<uname>386844365/.staging/job_local386844365_0001

有人可以告诉我我做错了什么吗?我的程序是一样的,没有更改默认设置(以前可以正常工作)

谢谢

hadoop
3个回答
36
投票

问题出在主机文件上。通过将其添加到/ etc / hosts文件来修复它:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.1.1   <hostname>

24
投票

您可以使用简单的命令来解决此问题:

echo "127.0.0.1 $HOSTNAME" | sudo tee -a /etc/hosts

([Source


0
投票

在我的MAC上,原来是ISP提供的DNS当时被污染或错误。将系统DNS设置为8.8.8.8(Google DNS的主要DNS服务器)或其他公共DNS解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.