在Windows上进行Python Hadoop流式处理,脚本不是有效的Win32应用程序 [英] Python Hadoop streaming on windows, Script not a valid Win32 application

查看:1210
本文介绍了在Windows上进行Python Hadoop流式处理,脚本不是有效的Win32应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用Hadoop streaming.jar在Hadoop上执行mapreduce python文件存在问题。



我使用:
Windows 10 64bit
Python 3.6和我的IDE是Spyder 3.2.6,
Hadoop 2.3.0
jdk1.8.0_161



我可以得到答案,而我的maduducec代码是用java语言编写的,但是我的问题是当我想在我的数据上混合使用像tensorflow或其他有用的机器学习库这样的python库。



安装hadoop 2.3.0 :
1. hadoop-env
export JAVA_HOME = C:\Java\jdk1.8.0_161
2.我在hadoop文件夹中创建了数据 - > dfs


  1. 对于环境
    用户变量



    Hadoop_Home = D: \hadoop
    Java_Home = C:\Java\jdk1.8.0_161
    M2_HOME = C:\ apache-maven-3.5.2\apache-maven-3.5.2-bin\ Maven-3.5.2
    Platform = x64



  2. 系统变量:
    将路径编辑为:

      D:\hadoop\\ bin 
    C:\java\jdk1.8.0_161\bin
    C:\ProgramData\Anconda3

    我的MapReduce Python代码:
    D:\digit\wordcount-mapper.py

     #!/ usr / bin / python3 
    为sys.stdin中的行导入sys

    line = line.strip()#删除前导和尾随空白
    words = line.split()#将单词划分为单词
    :b $ b print('%s\t%s'%(word,1))



    \digit\wordcount-reducer.py

    <$从运算符导入itemgetter
    导入sys
    current_word = None
    current_count = 0
    从运算符导入p $ p> #!/ usr / bin / python3
    word = None
    用于sys.stdin中的行:
    line = line.strip()
    word,count = line.split('\ t',1)
    try :
    count = int(count)
    除了ValueError:
    继续
    如果current_word == wor d:
    current_count + = count
    else:
    如果current_word:
    print('%s\t%s'%(current_word,current_count))
    current_count = count
    current_word = word
    if current_word == word:
    print('%s\t%s'%(current_word,current_count))

      d:\hadoop\bin> hadoop namenode -format 
    D:\hadoop\sbin> start-dfs.cmd
    D:\hadoop\sbin> start-yarn.cmd

    我检查了:localhost:8088 /和 http:/ / localhost:50070
    一切正常。

    然后当我输入时:

      D:\ haddoop \sbin> hadoop fs -mkdir -p / input 
    D:\ haddoop \sbin> hadoop fs -copyFromLocal D:\digit\\ \\ mahsa.txt / input
    D:\hadoop\sbin> D:\hadoop\bin\hadoop jar D:\hadoop\share\hadoop\tools\lib\ hadoop-streaming-2.3.0.jar -file D:\digit\wordcount-mapper.py -mapper D:\digit\wordcount-mapper.py -file D:\digit\wordcount-reducer。 py -reducer D:\digit\wordcount-reducer.py -input /input/mahsa.txt/ -output / output /

    我有这个错误:

      18/02/21 21:49:24 WARN strea ming.StreamJob:-file选项已弃用,请改为使用通用选项-files。 
    packageJobJar:[D:\digit\wordcount-mapper.py,D:\digit\wordcount-reducer.py,/ D:/ tmp / hadoop -Mahsa / hadoop-unjar7054071292684552905 /] [] C:\ Users \Mahsa\AppData\Local\Temp\streamjob2327207111481875361.jar tmpDir = null
    18/02/21 21:49:25 INFO client.RMProxy:连接到ResourceManager在/0.0 .0.0:8032
    18/02/21 21:49:25 INFO client.RMProxy:连接到ResourceManager,位于/0.0.0.0:8032
    18/02/21 21:49:28信息mapred。 FileInputFormat:处理的总输入路径:1
    18/02/21 21:49:28信息mapreduce.JobSubmitter:分割数量:2
    18/02/21 21:49:29信息mapreduce。 JobSubmitter:提交作业的标记:job_1519235874088_0003
    18/02/21 21:49:29信息impl.YarnClientImpl:提交的应用程序application_1519235874088_0003
    18/02/21 21:49:29信息mapreduce.Job:The URL跟踪工作:http:// Mahsa:8088 / proxy / application_1519235874088_0003 /
    18/02/21 21:49:29信息mapreduce.Job:正在运行的作业:job_1519 235874088_0003
    18/02/21 21:49:42信息mapreduce.Job:Job job_1519235874088_0003以超级模式运行:false
    18/02/21 21:49:42信息mapreduce.Job:map 0%减少0%
    18/02/21 21:49:52信息mapreduce.Job:任务ID:attempt_1519235874088_0003_m_000001_0,状态:FAILED
    错误:java.lang.RuntimeException:配置对象时出错
    在org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    在org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    在org.apache .hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
    at org.apache.hadoop.mapred .MapTask.run(MapTask.java:342)
    at org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:168)
    at java.security.AccessController.doPrivileged(Native Method )
    在javax.security.auth.Subject.doAs(Subject.java:422)
    在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
    在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    由java导致:java在sun.reflect.NativeMethodAccessorImpl.invoke .lang.reflect.InvocationTargetException $在sun.reflect.NativeMethodAccessorImpl.invoke0 b $ b(本机方法)
    (NativeMethodAccessorImpl.java:62)
    。在sun.reflect。 DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    处org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils java.lang.reflect.Method.invoke(Method.java:498)
    。 java:106)
    ... 9 more
    导致:java.lang.RuntimeException:在org.apache.hadoop.util.ReflectionUtils.setJobConf配置对象
    时出错(ReflectionUtils.java :109)
    在org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    在org.apache.hadoop.util.ReflectionUtils.newInstan ce(ReflectionUtils.java:133)
    at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
    ... 14 more
    引起:java.lang .reflect.InvocationTargetException $处sun.reflect.DelegatingMethodAccessorImpl sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    在sun.reflect.NativeMethodAccessorImpl.invoke0 b $ b(本机方法)
    。 invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java: 106)
    ... 17 more
    导致:java.lang.RuntimeException:配置异常
    at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
    at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
    ... 22 more
    导致:java.io.IOException:无法运行程序D: \tmp\hadoop-Mahsa \
    m本地-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000003\.\wordcount-mapper.py:CreateProcess的错误= 193,%1不是有效的Win32应用
    在java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
    ... 23 more $ b $由于:java.io.IOException:CreateProcess错误= 193,%1不是有效的Win32应用程序$ b $在java.lang.ProcessImpl.create(本地方法)$ b $在java.lang.ProcessImpl。 < init>(ProcessImpl.java:386)
    at java.lang.ProcessImpl.start(ProcessImpl.java:137)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 24 more

    18/02/21 21:49:52信息mapreduce.Job:任务ID:attempt_1519235874088_0003_m_000000_0,状态:FAILED
    错误:java.lang.RuntimeException :在配置对象
    时出错在org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    在org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    在org.apache .hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
    at org.apache.hadoop.mapred .MapTask.run(MapTask.java:342)
    at org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:168)
    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:1548)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    引起:java.lang.reflect.InvocationTargetException $ b $ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)$ b在sun.reflect.NativeMethodAccessorImp处为$ b l.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    在org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
    ... 9 more
    引起:java.lang.RuntimeException:配置对象
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
    ... 14 more
    导致:java.lang.reflect.InvocationTargetException $ b $在sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)
    在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org .apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
    ... 17 more
    导致:java.lang.RuntimeException:配置异常$ b $ org.apache。 hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
    at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
    ... 22 more
    产生java.io.IOException:由造成不能运行程序d:\tmp\hadoop-Mahsa\\\
    m本地-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000002\.\ wordcount-mapper.py:CreateProcess错误= 193,%1不是有效的Win32应用程序
    在java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    在org.apache.hadoop。 streaming.PipeMapRe d.configure(PipeMapRed.java:209)
    ... 23 more
    导致:java.io.IOException:CreateProcess错误= 193,%1不是有效的Win32应用程序
    at < init>(ProcessImpl.java:386)
    at java.lang.ProcessImpl.start(ProcessImpl.java:java.lang.ProcessImpl.java中的java.lang.ProcessImpl.create(Native方法)
    。 137)
    在java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 24 more

    18/02/21 21:50:02信息mapreduce .JOB:任务标识:attempt_1519235874088_0003_m_000001_1,状态:失败
    错误:了java.lang.RuntimeException:错误在org.apache.hadoop.util.ReflectionUtils.setJobConf配置对象
    (ReflectionUtils.java:109)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    在org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
    at org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:168)
    at java。 security.AccessController.doPrivileged(Native方法)
    位于javax.security.auth.Subject.doAs(Subject.java:422)
    位于org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java :1548)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    引起:java.lang.reflect.InvocationTargetException $ b $在sun.reflect.NativeMethodAccessorImpl .invoke0(本机方法)
    在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    是java .lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
    ... 9 more
    由:java.lang.Runtim引起eException:在配置对象
    时发生错误org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    在org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java: 75)
    在org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    在org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
    ... 14 more
    导致:java.lang.reflect.InvocationTargetException $ b $在sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)
    在sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    在org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
    ... 17 more
    引起:java.lang.RuntimeException:配置异常
    at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
    at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
    ... 22 more
    导致:java.io.IOException:无法运行程序D:\ tmp \hadoop-Mahsa\\\
    m-local-dir\usercache\Mahsa\appcache\ application_1519235874088_0003\container_1519235874088_0003_01_000004\.\wordcount-mapper.py:CreateProcess的错误= 193,%1不是在java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)$ b有效的Win32应用
    $ b at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
    ... 23 more
    导致:java.io.IOException:CreateProcess错误= 193,%1不是有效的Win32应用程序
    在java.lang.ProcessImpl.create(本地方法)
    在java.lang.ProcessImpl。< init>(ProcessImpl.java:386)
    在java .lang.ProcessImpl.start(ProcessImpl.java:137)
    在java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 24 more

    18/02/21 21:50:03信息mapreduce.Job:任务标识:attempt_1519235874088_0003_m_000000_1,Status:FAILED
    错误:java.lang.RuntimeException:在配置对象
    时发生错误org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    在org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    在org.apache。 hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
    位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
    位于org.apache.hadoop.mapred。 YarnChild $ 2.run(YarnChild.java:168)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupIn org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    导致:java.lang.reflect.InvocationTargetException
    在sun。 reflect.NativeMethodAccessorImpl.invoke0(本机方法)
    在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    在java.lang.reflect.Method.invoke(Method.java:498)
    在org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
    ... 9 more
    导致:java.lang.RuntimeException:在配置对象
    时出错org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    在org.apache.hadoop .util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    在org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    在org.apache.hadoop.mapred.MapR unner.configure(MapRunner.java:38)
    ... 14 more
    导致:java.lang.reflect.InvocationTargetException $ b $在sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)
    。在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    处的java.lang.reflect.Method sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    。 invoke(Method.java:498)
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
    ... 17 more
    导致:java.lang .RuntimeException:配置异常
    at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
    at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66 )
    ... 22 more
    导致:java.io.IOException:无法运行程序D:\tmp\hadoop -Mahsa\\\
    m-local-dir\usercache\Mahsa \appcache\application_ 1519235874088_0003\container_1519235874088_0003_01_000005\.\wordcount-mapper.py:CreateProcess的错误= 193,%1不是在java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)$ B有效的Win32应用
    $ b at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
    ... 23 more
    导致:java.io.IOException:CreateProcess错误= 193,%1不是有效的Win32应用程序
    在java.lang.ProcessImpl.create(本地方法)
    在java.lang.ProcessImpl。< init>(ProcessImpl.java:386)
    在java .lang.ProcessImpl.start(ProcessImpl.java:137)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 24 more

    18 / 02/21 21:50:13信息mapreduce.Job:任务ID:attempt_1519235874088_0003_m_000001_2,状态:FAILED
    错误:java.lang.RuntimeException:在配置对象
    时发生错误org.apache.hadoop.util .ReflectionUtils.setJobConf(ReflectionUtils .java:109)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133 )
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
    在org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:168)$ b $在java.security.AccessController.doPrivileged(本地方法)$ b $在javax.security.auth.Subject。 doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild。 Java的:在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
    在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java java.lang.reflect.InvocationTargetException
    :163)
    引起的:62)
    at sun.reflect.Del egatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    处org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils java.lang.reflect.Method.invoke(Method.java:498)
    。 java:106)
    ... 9 more
    导致:java.lang.RuntimeException:在org.apache.hadoop.util.ReflectionUtils.setJobConf配置对象
    时出错(ReflectionUtils.java :109)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
    ... 14 more
    引起:java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
    在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(德勒gatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
    ... 17 more
    导致:java.lang.RuntimeException:配置异常$ b $在org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
    在org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
    ... 22 more
    导致:java.io.IOException:无法运行程序D:\ tmp\hadoop-Mahsa\\\
    m本地-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000007\.\wordcount-mapper.py:CreateProcess的错误= 193,%1不是一个有效的Win32应用程序
    在java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    在org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
    。 .. 23更多
    导致: java.io.IOException:CreateProcess错误= 193,%1不是有效的Win32应用程序
    在java.lang.ProcessImpl.create(本地方法)
    在java.lang.ProcessImpl。< init> (ProcessImpl.java:386)
    在java.lang.ProcessImpl.start(ProcessImpl.java:137)
    在java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    。 .. 24 more

    18/02/21 21:50:14信息mapreduce.Job:任务ID:attempt_1519235874088_0003_m_000000_2,状态:FAILED
    错误:java.lang.RuntimeException:配置错误对象
    在org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    在org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    在org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
    at org。 apache.hadoop.mapred.MapTask.run(MapTask.java:342)
    at org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:168)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
    在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62 java.lang.reflect.InvocationTargetException
    :163)
    引起的)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache。 hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
    ... 9 more
    导致:java.lang.RuntimeException:在org.apache.hadoop中配置对象
    时出错。 util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    位于org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    位于org.apache.hadoop.util.ReflectionUtils。 newInstance(ReflectionUtils.java:133)
    在org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
    ... 14 more
    引起:java.lang .reflect.InvocationTargetException $处sun.reflect.DelegatingMethodAccessorImpl sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    在sun.reflect.NativeMethodAccessorImpl.invoke0 b $ b(本机方法)
    。 invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java: 106)
    ... 17 more
    导致:java.lang.RuntimeException:配置异常
    在org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRe d.java:222)
    在org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
    ... 22 more
    引起:java.io.IOException :不能运行程序 d:\tmp\hadoop-Mahsa\\\
    m本地-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000008\.\wordcount-mapper.py:CreateProcess的错误= 193,%1不是有效的Win32应用程序
    在java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    在org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed。 java:209)
    ... 23 more
    导致:java.io.IOException:CreateProcess错误= 193,%1不是有效的Win32应用程序
    在java.lang.ProcessImpl。 < init>(ProcessImpl.java:386)
    at java.lang.ProcessImpl.start(ProcessImpl.java:137)
    在java.lang.ProcessImpl中创建(本地方法)
    。在java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 24更多

    18/02/21 21:50:24信息mapreduce.Job:地图100%减少100%
    18/02/21 21:50:34信息mapreduce 。作业:Job job_1519235874088_0003由于以下原因而失败,状态为FAILED:任务失败task_1519235874088_0003_m_000001
    由于任务失败,作业失败。 failedMaps:1 failedReduces:0

    18/02/21 21:50:34信息mapreduce.Job:计数器:13
    作业计数器
    失败的地图任务= 7
    已杀死的地图任务= 1
    启动的地图任务= 8
    其他本地地图任务= 6
    数据本地地图任务= 2
    占用插槽中所有地图花费的总时间( ms)= 66573
    所有地图任务花费的总时间(ms)= 0
    所有地图任务花费的总时间(ms)= 66573
    所有地图花费的总时间秒任务= 66573
    所有映射任务占用的兆字节秒数= 68170752
    映射 - 减少框架
    CPU使用时间(毫秒)= 0
    物理内存(字节)快照= 0
    虚拟内存(字节)快照= 0
    18/02/21 21:50:34错误streaming.StreamJob:作业不成功!
    流式命令失败!

    我真的不知道它有什么问题,我的工具我的时间很多。
    感谢您的高级帮助或任何想法?

    解决方案

    解决方案:


    1. 我使用Hadoop版本2.7.2,配置* .xml的配置几乎相同。
    2. 我删除了# !/ usr / bin / python3

    我将命令改为:

      D:\hadoop\bin\hadoop jar 
    D:\hadoop\share\ hadoop \tools\lib\hadoop-streaming-2.7.2.jar
    -file /in/wordcount-mapper.py -mapperpython wordcount-mapper.py
    -file / in /wordcount-reducer.py -reducerpython wordcount-reducer.py
    --input /in/mahsa.txt --output / output

    因此我可以得到结果。

      hadoop fs -cat / output / part- 00000 


    I have a problem to execute mapreduce python files on Hadoop by using Hadoop streaming.jar.

    I use: Windows 10 64bit Python 3.6 and my IDE is spyder 3.2.6, Hadoop 2.3.0 jdk1.8.0_161

    I can get answer while my maperducec code is written on java language, but my problem is when I want to mingle python libraries such as tensorflow or other useful machine learning libs on my data.

    Installing hadoop 2.3.0: 1. hadoop-env export JAVA_HOME=C:\Java\jdk1.8.0_161 2. I created data -> dfs in hadoop folder

    1. For environment User Variable

      Hadoop_Home = D:\hadoop Java_Home = C:\Java\jdk1.8.0_161 M2_HOME = C:\apache-maven-3.5.2\apache-maven-3.5.2-bin\Maven-3.5.2 Platform = x64

    System Varibales: Edit Path as:

    D:\hadoop\bin
    C:\java\jdk1.8.0_161\bin
    C:\ProgramData\Anaconda3
    

    My MapReduce Python code: D:\digit\wordcount-mapper.py

    #!/usr/bin/python3
    import sys
    for line in sys.stdin:    
        line = line.strip()    # remove leading and trailing whitespace
        words = line.split()   # split the line into words
        for word in words:   
            print( '%s\t%s' % (word, 1))
    

    D:\digit\wordcount-reducer.py

    #!/usr/bin/python3
    from operator import itemgetter
    import sys
    current_word = None
    current_count = 0
    word = None
    for line in sys.stdin:    
        line = line.strip()   
        word, count = line.split('\t', 1)  
        try:    
            count = int(count)   
        except ValueError:
            continue       
        if current_word == word:    
            current_count += count
        else:
            if current_word:
                print( '%s\t%s' % (current_word, current_count))
            current_count = count
            current_word = word
    if current_word == word:    
        print( '%s\t%s' % (current_word, current_count))
    

    When I run my command prompt as administrator:

    D:\hadoop\bin> hadoop namenode -format
    D:\hadoop\sbin>start-dfs.cmd
    D:\hadoop\sbin>start-yarn.cmd
    

    I checked : localhost:8088/ and http://localhost:50070 all is ok.

    Then when I enter:

    D:\hadoop\sbin>hadoop fs -mkdir -p /input
    D:\hadoop\sbin>hadoop fs -copyFromLocal D:\digit\mahsa.txt /input
    D:\hadoop\sbin>D:\hadoop\bin\hadoop jar D:\hadoop\share\hadoop\tools\lib\hadoop-streaming-2.3.0.jar -file D:\digit\wordcount-mapper.py -mapper D:\digit\wordcount-mapper.py -file D:\digit\wordcount-reducer.py -reducer D:\digit\wordcount-reducer.py -input /input/mahsa.txt/ -output /output/
    

    I have this error:

    18/02/21 21:49:24 WARN streaming.StreamJob: -file option is deprecated, please use generic option -files instead.
    packageJobJar: [D:\digit\wordcount-mapper.py, D:\digit\wordcount-reducer.py, /D:/tmp/hadoop-Mahsa/hadoop-unjar7054071292684552905/] [] C:\Users\Mahsa\AppData\Local\Temp\streamjob2327207111481875361.jar tmpDir=null
    18/02/21 21:49:25 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
    18/02/21 21:49:25 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
    18/02/21 21:49:28 INFO mapred.FileInputFormat: Total input paths to process : 1
    18/02/21 21:49:28 INFO mapreduce.JobSubmitter: number of splits:2
    18/02/21 21:49:29 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1519235874088_0003
    18/02/21 21:49:29 INFO impl.YarnClientImpl: Submitted application application_1519235874088_0003
    18/02/21 21:49:29 INFO mapreduce.Job: The url to track the job: http://Mahsa:8088/proxy/application_1519235874088_0003/
    18/02/21 21:49:29 INFO mapreduce.Job: Running job: job_1519235874088_0003
    18/02/21 21:49:42 INFO mapreduce.Job: Job job_1519235874088_0003 running in uber mode : false
    18/02/21 21:49:42 INFO mapreduce.Job:  map 0% reduce 0%
    18/02/21 21:49:52 INFO mapreduce.Job: Task Id : attempt_1519235874088_0003_m_000001_0, Status : FAILED
    Error: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
            at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
            at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
            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:1548)
            at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 9 more
    Caused by: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
            ... 14 more
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 17 more
    Caused by: java.lang.RuntimeException: configuration exception
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
            at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
            ... 22 more
    Caused by: java.io.IOException: Cannot run program "D:\tmp\hadoop-Mahsa\nm-local-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000003\.\wordcount-mapper.py": CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
            ... 23 more
    Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessImpl.create(Native Method)
            at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
            at java.lang.ProcessImpl.start(ProcessImpl.java:137)
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
            ... 24 more
    
    18/02/21 21:49:52 INFO mapreduce.Job: Task Id : attempt_1519235874088_0003_m_000000_0, Status : FAILED
    Error: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
            at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
            at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
            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:1548)
            at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 9 more
    Caused by: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
            ... 14 more
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 17 more
    Caused by: java.lang.RuntimeException: configuration exception
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
            at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
            ... 22 more
    Caused by: java.io.IOException: Cannot run program "D:\tmp\hadoop-Mahsa\nm-local-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000002\.\wordcount-mapper.py": CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
            ... 23 more
    Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessImpl.create(Native Method)
            at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
            at java.lang.ProcessImpl.start(ProcessImpl.java:137)
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
            ... 24 more
    
    18/02/21 21:50:02 INFO mapreduce.Job: Task Id : attempt_1519235874088_0003_m_000001_1, Status : FAILED
    Error: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
            at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
            at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
            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:1548)
            at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 9 more
    Caused by: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
            ... 14 more
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 17 more
    Caused by: java.lang.RuntimeException: configuration exception
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
            at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
            ... 22 more
    Caused by: java.io.IOException: Cannot run program "D:\tmp\hadoop-Mahsa\nm-local-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000004\.\wordcount-mapper.py": CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
            ... 23 more
    Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessImpl.create(Native Method)
            at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
            at java.lang.ProcessImpl.start(ProcessImpl.java:137)
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
            ... 24 more
    
    18/02/21 21:50:03 INFO mapreduce.Job: Task Id : attempt_1519235874088_0003_m_000000_1, Status : FAILED
    Error: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
            at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
            at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
            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:1548)
            at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 9 more
    Caused by: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
            ... 14 more
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 17 more
    Caused by: java.lang.RuntimeException: configuration exception
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
            at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
            ... 22 more
    Caused by: java.io.IOException: Cannot run program "D:\tmp\hadoop-Mahsa\nm-local-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000005\.\wordcount-mapper.py": CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
            ... 23 more
    Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessImpl.create(Native Method)
            at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
            at java.lang.ProcessImpl.start(ProcessImpl.java:137)
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
            ... 24 more
    
    18/02/21 21:50:13 INFO mapreduce.Job: Task Id : attempt_1519235874088_0003_m_000001_2, Status : FAILED
    Error: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
            at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
            at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
            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:1548)
            at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 9 more
    Caused by: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
            ... 14 more
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 17 more
    Caused by: java.lang.RuntimeException: configuration exception
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
            at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
            ... 22 more
    Caused by: java.io.IOException: Cannot run program "D:\tmp\hadoop-Mahsa\nm-local-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000007\.\wordcount-mapper.py": CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
            ... 23 more
    Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessImpl.create(Native Method)
            at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
            at java.lang.ProcessImpl.start(ProcessImpl.java:137)
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
            ... 24 more
    
    18/02/21 21:50:14 INFO mapreduce.Job: Task Id : attempt_1519235874088_0003_m_000000_2, Status : FAILED
    Error: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426)
            at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
            at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
            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:1548)
            at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 9 more
    Caused by: java.lang.RuntimeException: Error in configuring object
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
            at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
            at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
            at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
            ... 14 more
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
            ... 17 more
    Caused by: java.lang.RuntimeException: configuration exception
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:222)
            at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
            ... 22 more
    Caused by: java.io.IOException: Cannot run program "D:\tmp\hadoop-Mahsa\nm-local-dir\usercache\Mahsa\appcache\application_1519235874088_0003\container_1519235874088_0003_01_000008\.\wordcount-mapper.py": CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
            at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
            ... 23 more
    Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
            at java.lang.ProcessImpl.create(Native Method)
            at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
            at java.lang.ProcessImpl.start(ProcessImpl.java:137)
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
            ... 24 more
    
    18/02/21 21:50:24 INFO mapreduce.Job:  map 100% reduce 100%
    18/02/21 21:50:34 INFO mapreduce.Job: Job job_1519235874088_0003 failed with state FAILED due to: Task failed task_1519235874088_0003_m_000001
    Job failed as tasks failed. failedMaps:1 failedReduces:0
    
    18/02/21 21:50:34 INFO mapreduce.Job: Counters: 13
            Job Counters
                    Failed map tasks=7
                    Killed map tasks=1
                    Launched map tasks=8
                    Other local map tasks=6
                    Data-local map tasks=2
                    Total time spent by all maps in occupied slots (ms)=66573
                    Total time spent by all reduces in occupied slots (ms)=0
                    Total time spent by all map tasks (ms)=66573
                    Total vcore-seconds taken by all map tasks=66573
                    Total megabyte-seconds taken by all map tasks=68170752
            Map-Reduce Framework
                    CPU time spent (ms)=0
                    Physical memory (bytes) snapshot=0
                    Virtual memory (bytes) snapshot=0
    18/02/21 21:50:34 ERROR streaming.StreamJob: Job not Successful!
    Streaming Command Failed!
    

    I really donot know what is problem it tool my time a lot. Thank you in advanced for your help or any idea?

    解决方案

    Solution:

    1. I used Hadoop version 2.7.2 with almost same configuration for *.xml.
    2. I removed #!/usr/bin/python3 from top of my python code.

    I changed my command as:

    D:\hadoop\bin\hadoop jar
    D:\hadoop\share\hadoop\tools\lib\hadoop-streaming-2.7.2.jar
    -file /in/wordcount-mapper.py -mapper "python wordcount-mapper.py"
    -file /in/wordcount-reducer.py -reducer "python wordcount-reducer.py"
    -input /in/mahsa.txt -output /output
    

    Therefore I could get result.

    hadoop fs -cat /output/part-00000
    

    这篇关于在Windows上进行Python Hadoop流式处理,脚本不是有效的Win32应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆