我正在使用 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 上。
编辑-我刚刚在本地运行它并且它工作,看起来我的问题可能与集群周围的文件复制有关。
仍然欢迎输入!