hadoop流调用的shell中不能使用hadoop命令

夜月升 2012-06-01 06:57:04
我用的命令是hadoop jar contrib/streaming/hadoop-streaming-1.0.0.jar -input input -output output -mapper /bin/cat -file test.sh -reducer test.sh
shell脚本test.sh:
#!/bin/bash
hadoop fs -get input/1.avi ~/hadoop-1.0.0/tmp/1.avi
错误信息是:
12/06/01 16:31:25 ERROR streaming.StreamJob: Job not successful. Error: # of failed Reduce Tasks exceeded allowed limit. FailedCount: 1. LastFailedTask: task_201206011340_0024_r_000000
12/06/01 16:31:25 INFO streaming.StreamJob: killJob...
Streaming Job Failed!
...全文
1196 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaobudiudiu 2014-08-12
  • 打赏
  • 举报
回复
引用 4 楼 x_h_j123 的回复:
经过煎熬解决了一些问题,不能识别hadoop命令,需要在shell脚本中export hadoop的环境变量
需要设置什么环境啊。是HADOOP_HOME吗
cys13579 2012-06-12
  • 打赏
  • 举报
回复
恩呢 很好啊
夜月升 2012-06-11
  • 打赏
  • 举报
回复
经过煎熬解决了一些问题,不能识别hadoop命令,需要在shell脚本中export hadoop的环境变量
夜月升 2012-06-04
  • 打赏
  • 举报
回复
按照您说得看了看错误,还是不知道问题在哪,本人hadoop新手,帮忙看下这是什么问题?
java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 255
at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:311)
at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:545)
at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:132)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57)
at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436)
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:1083)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
夜月升 2012-06-03
  • 打赏
  • 举报
回复
总算有人回复了。
就是因为在reduce.sh中调用了hadoop fs -get这样的命令,如果换做grep或cat什么的没问题,
reduce任务的返值回不是0,hadoop默认会尝试四次,四次之后就报出整个任务失败,
有没有在shell脚本里调用hadoop的命令的经验,该怎么解决呢?求指教
nextuser 2012-06-03
  • 打赏
  • 举报
回复
有个reduce任务挂了,你可以上jobtracker的web控制台看具体故障堆栈 http://jobmaster:port ,port大概是50070 或50030端口

20,846

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧