我在Windows上安裝了Hadoop 2.6,作爲一些依賴於Hadoop的軟件的測試平臺。據我所知,安裝正常工作。我將Hadoop保存在C:\Hadoop
和我的臨時文件夾C:\hadooptemp
中。我跟着這個教程得到它成立: https://drive.google.com/file/d/0BweVwq32koypYm1QWHNvRTZWTm8/viewWindows上的Hadoop 2.6 Mapreduce權限設置不正確
當我運行類Hadoop MapReduce的例子-2.6.0.jar圓周率,在本教程提供的,我得到下面的輸出:
Number of Maps = 2
Samples per Map = 5
Wrote input for Map #0
Wrote input for Map #1
Starting Job
15/08/27 15:55:10 INFO client.RMProxy: Connecting to ResourceManager at /155.41.90.116:8032
15/08/27 15:55:12 INFO input.FileInputFormat: Total input paths to process : 2
15/08/27 15:55:12 INFO mapreduce.JobSubmitter: number of splits:2
15/08/27 15:55:13 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1440705227041_0001
15/08/27 15:55:14 INFO impl.YarnClientImpl: Submitted application application_1440705227041_0001
15/08/27 15:55:14 INFO mapreduce.Job: The url to track the job: http://mycomp:8088/proxy/application_1440705227041_0001/
15/08/27 15:55:14 INFO mapreduce.Job: Running job: job_1440705227041_0001
15/08/27 15:55:35 INFO mapreduce.Job: Job job_1440705227041_0001 running in uber mode : false
15/08/27 15:55:35 INFO mapreduce.Job: map 0% reduce 0%
15/08/27 15:55:35 INFO mapreduce.Job: Job job_1440705227041_0001 failed with state FAILED due to: Application application_1440705227041_0001 failed 2 times due to AM Container for appattempt_1440705227041_0001_000002 exited with exitCode: -1000
For more detailed output, check application tracking page:http://mycomp:8088/proxy/application_1440705227041_0001/Then, click on links to logs of each attempt.
診斷:無法設置本地dir/hadooptemp/nm-local-dir,該標記爲good。
Failing this attempt. Failing the application.
15/08/27 15:55:35 INFO mapreduce.Job: Counters: 0
Job Finished in 25.444 seconds
java.io.FileNotFoundException: File does not exist: hdfs://155.41.90.116:8020/user/me/QuasiMonteCarlo_1440705304456_1878814183/out/reduce-out
at org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:1122)
at org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:1114)
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1130)
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1751)
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1774)
at org.apache.hadoop.examples.QuasiMonteCarlo.estimatePi(QuasiMonteCarlo.java:314)
at org.apache.hadoop.examples.QuasiMonteCarlo.run(QuasiMonteCarlo.java:354)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.examples.QuasiMonteCarlo.main(QuasiMonteCarlo.java:363)
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:71)
at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
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.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
從我已經與退出碼追蹤:-1000,要歸結到Hadoop的不能夠建立本地目錄具有相應的權限。我相信我上面使用的教程,這就是爲什麼他們禁用用戶帳戶控制。不管我是否這樣做,我都會得到同樣的錯誤。
我也發現了類似的問題,在這個環節上: Mapreduce error: Failed to setup local dir
我想他們說可循的,使雙方C:\Hadoop
和C:\hadooptemp
通過文件夾屬性,安全由我的用戶帳戶擁有和高級設置。我之前被列爲所有者,並且根據這一點,我可以完全控制對該文件夾的訪問權限。要麼這不是問題,要麼我錯誤地將所有權分配給我的帳戶。
最後,在我的YARN節點管理器,我收到以下錯誤,似乎有一定的相關這幾個地方彈出:
15/08/27 15:55:34 WARN localizer.ResourceLocalizationService: Permissions incorrectly set for dir /hadooptemp/nm-local-dir/usercache, should be rwxr-xr-x, actual value = rwxrwxr-x
看來,我有太多的權限,因爲它規定他們是不正確的設置?我無法想象這是問題的原因,我的團隊也有寫權限,但我無法弄清楚如何在Windows中進行修改。
任何幫助搞清楚權限問題的細節來解決這個錯誤,將不勝感激。
只是出於好奇,是你在辦公室外使用的工作電腦(配有一張域)?我最近遇到了這個問題,儘可能在Windows中的相關文件夾上授予'Everyone'完全控制權限,但仍然出現錯誤。最後VPN到我的域名和BOOM中,沒有問題。 –
@JohnChrysostom謝謝你,我從來沒有想過試試這個,它立即解決了我的問題。任何想法是什麼導致了這種情況,或者人們如何解決事情,以便登錄到VPN不是必需的? – Kittoes0124