2015-08-27 2 views
2

Я установил Hadoop 2.6 на Windows в качестве тестового стенда для некоторого программного обеспечения, которое зависит от Hadoop. Насколько я могу судить, установка работала правильно. У меня Hadoop сохранен в C:\Hadoop и моей временной папке в C:\hadooptemp. Я после этого учебника по получению его настроить: https://drive.google.com/file/d/0BweVwq32koypYm1QWHNvRTZWTm8/viewHadoop 2.6 Разрешения Mapreduce, неправильно установленные на Windows

Когда я бегу 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. 

Диагностика: Не удалось установить локальный каталог/hadooptemp/nm-local-dir, который был отмечен как хороший.

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) 

Из того, что я трассировку с ExitCode: -1000, чтобы сводится к Hadoop не будучи в состоянии установить локальный каталог с соответствующими правами. Я верю в учебник, который я использую выше, поэтому они отключают элементы управления учетными записями пользователей. Независимо от того, выполняю ли я это, я получаю ту же ошибку.

Я также нашел подобный вопрос в этой ссылке: Mapreduce error: Failed to setup local dir

Я пытался следовать по их словам, и сделать как C:\Hadoop и C:\hadooptemp принадлежит моей учетной записи пользователя через свойства папки, безопасность и расширенные настройки. Я был указан как владелец раньше, и у меня есть полный доступ к папке в соответствии с этим. Или это не проблема, или я неправильно назначил право собственности на свою учетную запись.

Наконец, в моем Node Manager ПРЯЖИ, я получаю следующее сообщение об ошибке, что, кажется, возможно, связаны, который всплывает в нескольких местах:

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.

Любая помощь по выяснению деталей проблемы разрешений для исправления этой ошибки будет оценена.

+1

Просто из любопытства, ты использовал рабочий компьютер (с областью работы) за пределами офиса? Недавно я столкнулся с этой проблемой, дошел до предоставления полных разрешений на управление всеми соответствующими папками в Windows и все еще получил ошибку. Наконец VPN'd в моем домене и BOOM, никаких проблем. –

+0

@JohnChrysostom Спасибо, я бы никогда не подумал попробовать, и он сразу решил мою проблему. Любые идеи, что вызывает это и как можно исправить ситуацию, чтобы не требовать входа в VPN? – Kittoes0124

ответ

3

В моем случае это произошло из-за недоступности Домена Windows. Подключите свой компьютер к домену Windows. Вот моя пряжа конфигурации

<configuration> 

<!-- Site specific YARN configuration properties --> 
    <property> 
     <name>yarn.resourcemanager.hostname</name> 
     <value>0.0.0.0</value> 
    </property> 
<property> 
     <name>yarn.nodemanager.local-dirs</name> 
     <value>c:\my\hadoop-2.7.1\tmp-nm</value> 
</property> 

    <property> 
     <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name> 
     <value>98.5</value> 
    </property> 
</configuration> 

также см https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/SecureContainer.html