2016-11-04 2 views
1

Исполняя баночку в Hadoop, я получаю следующее сообщение об ошибке:Контейнера завершился с 1 ошибкой ненулевой коды выхода во MapReduce задаче

16/11/04 18:32:59 INFO mapreduce.Job: Task Id : attempt_1478261728730_0005_m_000000_2, Status : FAILED 
Exception from container-launch. 
Container id: container_1478261728730_0005_01_000004 
Exit code: 1 
Stack trace: ExitCodeException exitCode=1: 
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:538) 
    at org.apache.hadoop.util.Shell.run(Shell.java:455) 
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715) 
    at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211) 
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302) 
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 


Container exited with a non-zero exit code 1 

16/11/04 18:33:09 INFO mapreduce.Job: map 100% reduce 0% 

Это журнал приложения:

Native code library failed to load. 
java.lang.UnsatisfiedLinkError: no opencv_java2411 in java.library.pathopencv_java2411 

Я надеваю Не знаю, что это значит, может ли кто-нибудь помочь в этом, пожалуйста?

+0

Обновление ваш пост с журналами приложений – BruceWayne

+0

Я обновил пост .. @ KrishnaChaitanyaReddy – Mahek

ответ

1

Вам не хватает opencv на узлах вашего кластера. См. here для получения подробной информации о том, как с этим справиться.

Короче говоря, вам нужно установить opencv на своих исполнителей. Вы не можете скомпилировать его в своей работе .jar портативным способом, так как это C, а не код Java.

Обновление: Обратите внимание, что окружающая среда для исполнителей Hadoop задана вашим hadoop-env.sh. Таким образом, он должен содержать строку:

JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:/etc/opencv/lib

+0

Да, я должен знать, что я уже загружается OpenCV родной путь, но как-то его не удалось загрузить. @Armin Braun – Mahek

+0

@Mahek 3 вопроса тогда :) 1. какая версия OpenCV вы установили, вы установили? 2. И вы сделали это на всех исполнителях? 3. Как вы его установили/убедитесь, что он загружен? –

+0

OpenCV-2.4.11, и я опубликовал вопрос о загрузке библиотеки здесь http://stackoverflow.com/questions/40435812/how-to-set-native-library-path-for-opencv-in-ubuntu?noredirect = 1 # comment68119207_40435812 @Armin Braun – Mahek