在快速入门后遇到一些麻烦



我收到一个错误,我认为这与我如何设置目录有关:

运行后:

Hadoop-0.20.205.0/

bin/Hadoop jar Hadoop-0.20.205.0/contrib/streaming/hadoop-streaming-*.jar -file mapper.py -mapper mapper.py -file reducer.py -reducer reducer.py -input cs4501input -output py_wc_out

我得到: packageJobJar: [mapper.py, reducer.py,/tmp/hadoop-ubuntu/hadoop-unjar6120166906857088018/] []/tmp/streamjob1341652915014758694.jar tmpDir=null

12/04/08 01:34:01 信息映射。工作客户: 清理暂存区域 hdfs://localhost:9000/tmp/hadoop-ubuntu/mapred/staging/ubuntu/.staging/job_201204080100_0004

08-04-12 01:34:01 流式处理错误。StreamJob:启动作业时出错,输出路径已存在:输出目录 hdfs://localhost:9000/user/ubuntu/py_wc_out 已存在流式处理作业失败!

我认为这与我使用 hdfs 指定核心站点.xml文件的时间有关,但这在快速入门指南中。我不明白为什么我需要在带有端口号的本地主机地址旁边指定 hdfs。

问题是您正在尝试运行相同的作业而不清理输出目录。首先删除输出目录,然后重新运行它。您必须在每份工作之间执行此操作。Hadoop 失败,而不是让你覆盖目录。

hadoop fs -rmr /user/ubuntu/py_wc_out

就个人而言,我喜欢解决这个"问题"的方法是动态将时间戳附加到输出目录。这样,它将始终是唯一的,您不必摆脱以前的运行。

hadoop-0.20.205.0/bin/hadoop jar ... -output py_wc_out-`date +%s`

相关内容

  • 没有找到相关文章