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.