2013-04-13 2 views
0

Я выполнял задание Hadoop (пример количества слов) несколько раз на моей настройке кластера с двумя узлами, и до сих пор он работал нормально. Я постоянно получаю RuntimeException, который ларьки процесса снижения на 19%:Hadoop ошибка остановки работы уменьшить процесс

2013-04-13 18:45:22,191 INFO org.apache.hadoop.mapred.Task: Task:attempt_201304131843_0001_m_000000_0 is done. And is in the process of commiting 
    2013-04-13 18:45:22,299 INFO org.apache.hadoop.mapred.Task: Task 'attempt_201304131843_0001_m_000000_0' done. 
    2013-04-13 18:45:22,318 INFO org.apache.hadoop.mapred.TaskLogsTruncater: Initializing logs' truncater with mapRetainSize=-1 and reduceRetainSize=-1 
    2013-04-13 18:45:23,181 WARN org.apache.hadoop.mapred.Child: Error running child 
    java.lang.RuntimeException: Error while running command to get file permissions : org.apache.hadoop.util.Shell$ExitCodeException: 
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:255) 
at org.apache.hadoop.util.Shell.run(Shell.java:182) 
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:375) 
at org.apache.hadoop.util.Shell.execCommand(Shell.java:461) 
at org.apache.hadoop.util.Shell.execCommand(Shell.java:444) 
at org.apache.hadoop.fs.FileUtil.execCommand(FileUtil.java:710) 
at org.apache.hadoop.fs.RawLocalFileSystem$RawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:443) 
at org.apache.hadoop.fs.RawLocalFileSystem$RawLocalFileStatus.getOwner(RawLocalFileSystem.java:426) 
at org.apache.hadoop.mapred.TaskLog.obtainLogDirOwner(TaskLog.java:267) 
at org.apache.hadoop.mapred.TaskLogsTruncater.truncateLogs(TaskLogsTruncater.java:124) 
at org.apache.hadoop.mapred.Child$4.run(Child.java:260) 
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:1149) 
at org.apache.hadoop.mapred.Child.main(Child.java:249) 

    at org.apache.hadoop.fs.RawLocalFileSystem$RawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:468) 
at org.apache.hadoop.fs.RawLocalFileSystem$RawLocalFileStatus.getOwner(RawLocalFileSystem.java:426) 
at org.apache.hadoop.mapred.TaskLog.obtainLogDirOwner(TaskLog.java:267) 
at org.apache.hadoop.mapred.TaskLogsTruncater.truncateLogs(TaskLogsTruncater.java:124) 
at org.apache.hadoop.mapred.Child$4.run(Child.java:260) 
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:1149) 
at org.apache.hadoop.mapred.Child.main(Child.java:249) 

Кто-нибудь какие-либо идеи, что может быть причиной этого?

Редактировать: Решил сам. Если кто-то другой сталкивается с той же проблемой, это было вызвано файлом etc/hosts на главном узле. Я не ввел имя хоста и адрес подчиненного узла. Это как мой хосты-файл структурирован на мастер-узле:

127.0.0.1 MyUbuntuServer 
    192.xxx.x.xx2 master 
    192.xxx.x.xx3 MySecondUbuntuServer 
    192.xxx.x.xx3 slave 
+0

привет, Пожалуйста, разместите свой ответ как ответ, а не редактирование вопроса. Да, нормально ответить на ваш вопрос. –

+0

Я тоже страдаю от этой проблемы. Однако мой/etc/hosts в порядке. Следовательно, я не думаю, что это то, что решило вашу проблему. – avner

+0

Тот же вопрос, что и выше. Мой/etc/hosts в порядке. @avner решила проблему или попыталась увеличить размер кучи? – burgersmoke

ответ

0

аналогичная проблема описана здесь: http://comments.gmane.org/gmane.comp.apache.mahout.user/8898

Информационный там может быть связано с другой версии Hadoop. Он говорит:

java.lang.RuntimeException: Ошибка во время выполнения команды разрешения прибудете файла: java.io.IOException: Не удается запустить программу "/ bin/LS": ошибка = 12, не хватает места

решение их было изменить heapsize через mapred.child.java.opts * -Xmx1200M

Смотрите также: https://groups.google.com/a/cloudera.org/forum/?fromgroups=#!topic/cdh-user/BHGYJDNKMGE

HTH, Avner