Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在hadoop中找不到shell脚本_Hadoop_Hadoop Streaming - Fatal编程技术网

在hadoop中找不到shell脚本

在hadoop中找不到shell脚本,hadoop,hadoop-streaming,Hadoop,Hadoop Streaming,我是hadoop和hadoop流媒体的新手,所以这个错误很可能是我错过的 我运行了一个内联awk映射器命令,它运行得很好 hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.3.jar -input input -output output -mapper "/usr/bin/awk -F'\t' '\$1==\"and\"'" -reducer NONE 但是,当我将awk命令放入文件并运行它时。集群中的所有机器上都出

我是hadoop和hadoop流媒体的新手,所以这个错误很可能是我错过的

我运行了一个内联awk映射器命令,它运行得很好

hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.3.jar -input input -output output -mapper "/usr/bin/awk -F'\t' '\$1==\"and\"'" -reducer NONE
但是,当我将awk命令放入文件并运行它时。集群中的所有机器上都出现了Java IOException

hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.3.jar -input one_to_one/part* -output 4 -mapper test.sh -reducer NONE -file test.sh
test.sh

/usr/bin/awk -F '\t' '(NR == 1) {print NR,OFS,$0;}'
例外情况:

java.lang.RuntimeException: Error in configuring object
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:93)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:432)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:88)
    ... 9 more
Caused by: java.lang.RuntimeException: Error in configuring object
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:93)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
    at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:34)
    ... 14 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:88)
    ... 17 more
Caused by: java.lang.RuntimeException: configuration exception
    at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:230)
    at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
    ... 22 more
Caused by: java.io.IOException: Cannot run program "/Users/hadoop/tmp/taskTracker/hadoop/jobcache/job_201207051227_0012/attempt_201207051227_0012_m_000000_0/work/./test.sh": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:214)
    ... 23 more
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
    at java.lang.ProcessImpl.start(ProcessImpl.java:91)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 24 more
java.lang.RuntimeException:配置对象时出错
位于org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:93)
位于org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
位于org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
位于org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:432)
位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:372)
位于org.apache.hadoop.mapred.Child$4.run(Child.java:255)
位于java.security.AccessController.doPrivileged(本机方法)
位于javax.security.auth.Subject.doAs(Subject.java:396)
位于org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
位于org.apache.hadoop.mapred.Child.main(Child.java:249)
原因:java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:88)
... 9更多
原因:java.lang.RuntimeException:配置对象时出错
位于org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:93)
位于org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
位于org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
位于org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:34)
... 14多
原因:java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:88)
... 还有17个
原因:java.lang.RuntimeException:配置异常
位于org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:230)
位于org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
... 还有22个
原因:java.io.IOException:无法运行程序“/Users/hadoop/tmp/taskTracker/hadoop/jobcache/job\u 201207051227\u 0012/trunt\u 201207051227\u 0012\u m\u 000000\u 0/work//test.sh”:错误=2,没有这样的文件或目录
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
位于org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:214)
... 23多
原因:java.io.IOException:error=2,没有这样的文件或目录
位于java.lang.UNIXProcess.forkAndExec(本机方法)
位于java.lang.UNIXProcess(UNIXProcess.java:53)
在java.lang.ProcessImpl.start(ProcessImpl.java:91)
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 还有24个
试试:

  • 向您的测试中添加散列/she-bang.sh:

    #/bin/bash

  • 将文件修改为文件

    hadoop jar$hadoop_HOME/contrib/streaming/hadoop-streaming-1.0.3.jar
    -输入一个到一个/部分*-输出4-mapper test.sh-reducer NONE-files test.sh