centos+python3+mrjob+hadoop,python httpflow.py -r hadoop 报错,但使用“-r local”的方式正常?

Running step 1 of 1...
  packageJobJar: [/tmp/hadoop-unjar6848459156223719147/] [] /tmp/streamjob1203525417845159775.jar tmpDir=null
  Connecting to ResourceManager at /0.0.0.0:8032
  Connecting to ResourceManager at /0.0.0.0:8032
  Total input paths to process : 1
  number of splits:2
  Submitting tokens for job: job_1533179923861_0001
  Submitted application application_1533179923861_0001
  The url to track the job: http://localhost:8088/proxy/application_1533179923861_0001/
  Running job: job_1533179923861_0001
  Job job_1533179923861_0001 running in uber mode : false
   map 0% reduce 0%
  Task Id : attempt_1533179923861_0001_m_000001_0, Status : FAILED
Error: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 127
    at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:322)
    at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:535)
    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:450)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1692)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

在Python+virtualenv的虚拟环境下,使用Python和mrjob库编写MapReduce任务的脚本,在使用Hadoop(-r hadoop)的方式运行MapReduce任务时,却报错如上,而使用本地的方式(-r local)是正常的,不知道是什么情况,经过百度,网上说是环境问题,但是排查之后,始终没解决,请各位大神指点?

环境:centos6.9、virtualenv+Python3.6、MrJob、hadoop2.6.5

你可能感兴趣的:(运维,CentOS,python,hadoop)