2017-06-07 11 views
0

で無libopencv_core.soパスは次のように設定できます。私はHadoopの中で働いていたし、突然、私は私の画像処理プログラムのための実行可能なjarファイルを作成したら、このエラーは日食使用している間、それはOpenCVのネイティブライブラリパス</p> <p>との関係を持って発生したがjava.library.pathのHadoopの

// System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

しかし、hadoopを使ってrunnable jarを実行すると、エラーが発生します。 誰でも是正できますか?

[email protected]:/home/mnh/Desktop$ hadoop jar opencv19.jar /usr/local/hadoop/input/cars.mp4 /usr/local/hadoop/cars89 
17/06/07 16:15:37 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
17/06/07 16:15:39 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.137.52:8050 
17/06/07 16:15:40 WARN mapreduce.JobSubmitter: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this. 
17/06/07 16:16:08 INFO input.FileInputFormat: Total input paths to process : 1 
17/06/07 16:16:08 INFO mapreduce.JobSubmitter: number of splits:1 
17/06/07 16:16:09 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1496831815466_0009 
17/06/07 16:16:09 INFO impl.YarnClientImpl: Submitted application application_1496831815466_0009 
17/06/07 16:16:09 INFO mapreduce.Job: The url to track the job: http://master:8088/proxy/application_1496831815466_0009/ 
17/06/07 16:16:09 INFO mapreduce.Job: Running job: job_1496831815466_0009 
17/06/07 16:16:20 INFO mapreduce.Job: Job job_1496831815466_0009 running in uber mode : false 
17/06/07 16:16:20 INFO mapreduce.Job: map 0% reduce 0% 
17/06/07 16:16:29 INFO mapreduce.Job: Task Id : attempt_1496831815466_0009_m_000000_0, Status : FAILED 
Error: no libopencv_core.so in java.library.path 
17/06/07 16:16:37 INFO mapreduce.Job: Task Id : attempt_1496831815466_0009_m_000000_1, Status : FAILED 
Error: no libopencv_core.so in java.library.path 
17/06/07 16:16:45 INFO mapreduce.Job: Task Id : attempt_1496831815466_0009_m_000000_2, Status : FAILED 
Error: no libopencv_core.so in java.library.path 
17/06/07 16:16:54 INFO mapreduce.Job: map 100% reduce 100% 
17/06/07 16:16:55 INFO mapreduce.Job: Job job_1496831815466_0009 failed with state FAILED due to: Task failed task_1496831815466_0009_m_000000 
Job failed as tasks failed. failedMaps:1 failedReduces:0 

17/06/07 16:16:56 INFO mapreduce.Job: Counters: 12 
    Job Counters 
     Failed map tasks=4 
     Launched map tasks=4 
     Other local map tasks=3 
     Data-local map tasks=1 
     Total time spent by all maps in occupied slots (ms)=26582 
     Total time spent by all reduces in occupied slots (ms)=0 
     Total time spent by all map tasks (ms)=26582 
     Total vcore-seconds taken by all map tasks=26582 
     Total megabyte-seconds taken by all map tasks=27219968 
    Map-Reduce Framework 
     CPU time spent (ms)=0 
     Physical memory (bytes) snapshot=0 
     Virtual memory (bytes) snapshot=0 
+0

前回の提案を元に戻す必要があります。 Hadoopネイティブパスからファイルを削除し、別の場所に配置します。 – Serhiy

+0

これまでの提案が何らかの形で問題を解決したが、mapreduceジョブが減速してマップが減少し、マップが100%でタイムアウトエラーを起こし、0%を減らした@Serhiy –

答えて

0

あなたが取得しているエラーメッセージは、労働者は、それがそれぞれのマシンにインストールされていないため、OpenCVのを使用することができないとの関連です。したがって、Nodemanagerコンポーネントがインストールされているクラスタマシン(タスクを実行するクラスタマシン)にOpenCVをインストールするという解決策があります。 System.loadLibrary()メソッドを使用してライブラリをロードできるようにするには、soファイルの場所をPATHシステム変数に追加する必要があります。

+0

ありがとう、ありがとう。あなたが提供した解決策の後、私はhadoopアプリケーションを正常に実行しました:) –

関連する問題

 関連する問題