3

我正在使用 Hortonworks HDP for Windows 并成功配置了一个主设备和 2 个从设备。

我正在使用以下命令;

bin\hadoop jar contrib\streaming\hadoop-streaming-1.1.0-SNAPSHOT.jar -files file:///d:/dev/python/mapper.py,file:///d:/dev/python/reducer.py -mapper "python mapper.py" -reducer "python reduce.py" -input /flume/0424/userlog.MDAC-HD1.MDAC.local..20130424.1366789040945 -output /flume/o%1 -cmdenv PYTHONPATH=c:\python27

映射器运行良好,但日志报告未找到 reduce.py 文件。在异常情况下,hadoop 任务运行程序似乎正在为 reducer 创建指向 mapper.py 文件的符号链接。

当我检查作业配置文件时,我注意到mapred.cache.files设置为;

hdfs://MDAC-HD1:8020/mapred/staging/administrator/.staging/job_201304251054_0021/files/mapper.py#mapper.py

看起来虽然 reduce.py 文件已添加到 jar 文件中,但它没有正确包含在配置中,并且在 reducer 尝试运行时无法找到。

我认为我的命令是正确的,我尝试使用 -file 参数,但没有找到任何文件。

任何人都可以看到或知道一个明显的原因吗?

请注意,这是在 Windows 上。

编辑-我刚刚在本地运行它并且它工作,看起来我的问题可能与集群周围的文件复制有关。

仍然欢迎输入!

4

2 回答 2

2

嗯,这很尴尬......我的第一个问题,我自己回答。

我通过重命名 hadoop conf 文件以强制使用默认设置来发现问题,这意味着本地作业跟踪器。

这项工作运行正常,它给了我解决问题所在的空间,看起来集群周围的通信没有像需要的那样完整。

于 2013-04-26T07:41:49.963 回答
0

当我看到您的命令时,它会为 -files 选项显示“file:///d:/dev/python/reducer.py”,但您为 -reducer 指定了 reduce.py。这会导致问题吗?抱歉,我不确定。

于 2013-04-25T14:36:05.200 回答