2016-05-03 17 views
0

我是Hadoop編程的初學者,我嘗試在hadoop程序包中運行字數統計程序。執行字數統計程序時的Hadoop erorrs

我跑了命令,並面臨下面的錯誤。我試圖在網上搜索相同的問題,但我無法解決。我認爲我的問題與配置文件的權限有關。

./bin/hadoop jar hadoop-examples-1.0.3.jar wordcount README.txt ~/wordcount-output 

以下是我的錯誤。

16/05/04 00:05:26 INFO util.NativeCodeLoader: Loaded the native-hadoop library 
16/05/04 00:05:26 INFO mapred.JobClient: Cleaning up the staging area file:/tmp/hadoop-sclee1/mapred/staging/sclee1466120821/.staging/job_local_0001 
16/05/04 00:05:26 ERROR security.UserGroupInformation: PriviledgedActionException as:sclee1 cause:java.net.UnknownHostException: NGS1: NGS1: Name or service not known 
java.net.UnknownHostException: NGS1: NGS1: Name or service not known 
     at java.net.InetAddress.getLocalHost(InetAddress.java:1496) 
     at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:874) 
     at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850) 
     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:1121) 
     at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850) 
     at org.apache.hadoop.mapreduce.Job.submit(Job.java:500) 
     at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530) 
     at org.apache.hadoop.examples.WordCount.main(WordCount.java:67) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68) 
     at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139) 
     at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:64) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 
Caused by: java.net.UnknownHostException: NGS1: Name or service not known 
     at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) 
     at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:922) 
     at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1316) 
     at java.net.InetAddress.getLocalHost(InetAddress.java:1492) 
     ... 21 more 

爲了您更好理解,sclee1是我的帳號,而NGS1是我的linux服務器,它是centos版本。

我努力解決問題,但失敗了。我期待您的回答:)

+0

你是什麼'的/ etc/hosts'文件的Hadoop系統上的內容? –

+0

我找不到/ etc/hosts – sclee1

+0

它不在HDFS中,它位於服務器文件系統上。你必須SSH到各個節點 –

回答

1

檢查並添加主機名和/etc/hosts文件中所有節點上的主節點和從節點的IP地址之間的關聯。確保羣集中的所有節點都能夠相互ping通。

示例配置:/etc/hosts文件是這樣的:

127.0.0.1  localhost  NGS1 
+0

感謝您的意見。不幸的是,我找不到/ etc/hosts目錄。你能解釋如何找到更多的細節? :)我有conf文件夾,但conf文件中沒有hosts文件。 – sclee1

+0

其Linux文件夾/ etc/hosts。請參閱http://askubuntu.com/questions/183176/what-is-the-use-of-etc-hosts –