1

I am trying to run an image processing example in Hadoop.

Hadoop Version: Hadoop 2.0.0-cdh4.2.1

Hipi Version: hipi-2.1.0

OpenCV Version: opencv-2.4.11

opencv-2411.jar and hipi-2.1.0.jar are in hadoop-classpath

I have put “libopencv_java2411.so” in directory /etc/opencv/lib. Set JAVA_LIBRARY_PATH in /usr/lib/hadoop/libexec/hadoop-config.sh file, to point to OpenCV native library as below:

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

When I submit the job, I get following error message.


    attempt_201804241646_0001_m_000000_0: Native code library failed to load.
    attempt_201804241646_0001_m_000000_0: java.lang.UnsatisfiedLinkError: no opencv_java2411 in java.library.pathopencv_java2411
    18/04/24 17:05:05 INFO mapred.JobClient: Task Id : attempt_201804241646_0001_m_000000_1, Status : FAILED
    java.lang.Throwable: Child Error
        at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:250)
    Caused by: java.io.IOException: Task process exit with nonzero status of 1.
        at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:237)

Why it fails to load the native library? Please help.

mhc
  • 289
  • 2
  • 8

0 Answers0