2016-08-13 35 views
0

我使用CDH 5.7.2和MrJob提交MapReduce工作MrJob在Hadoop不能導入庫

當我嘗試在localmode,一切工作正常,但是當我使用-r hadoop它給了我以下錯誤:

Task Id : attempt_1471071791922_0005_m_000001_2, Status : FAILED 
Error: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1 
     at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:325) 
     at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:538) 
     at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:130) 
     at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61) 
     at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:34) 
     at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) 
     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) 
     at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) 
     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:1693) 
     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) 

我想通了,發生問題,當我嘗試導入庫:

import geopy 
from geopy.distance import great_circle 

這是我如何執行我的腳本:

python test2.py -r hadoop hdfs:///user/dataset/test_data --hadoop-streaming-jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-streaming.jar 

P.S. MrJob沒有好的hadoop-streaming-jar,所以我手動指定

如何在Hadoop上執行MapReduce jon 庫導入

+0

嘗試在執行-libjars增加一個paramater/pathtoyour3rdpartylib – Aditya

+0

我不知道我有任何python庫作爲jar文件 –

回答

0

自己找到答案。

我要做的 - 是在我所有的節點的安裝這個庫(不只是在主站)