【发布时间】:2011-11-20 23:58:50
【问题描述】:
我正在尝试设置一个完全分布式的 Hadoop/MapReduce 实例,其中每个节点将在某些输入上运行一系列 C++ Hadoop 流式处理任务。但是我不想将所有输入任务都移到 HDFS 上——相反,我想看看是否有办法从每个节点的本地文件夹中读取输入数据。
有没有办法做到这一点?
编辑: 我想运行的 hadoop 命令示例类似于:
hadoop jar $HADOOP_STREAM/hadoop-streaming-0.20.203.0.jar \
-mapper map_example \
-input file:///data/ \
-output /output/ \
-reducer reducer_example \
-file map_example \
-file reducer_example
在这种情况下,我的每个节点中存储的数据都在 /data/ 目录中,我希望输出到每个单独节点的 /output/ 目录中。 map_example 和 reducer_example 文件在所有节点本地可用。
我将如何实现一个 Hadoop 命令,如果它在主节点上运行,那么所有从节点本质上将在 x 个节点上运行相同的任务,从而在每个节点中生成一个本地输出文件(基于本地输入文件)?
谢谢
【问题讨论】:
标签: hadoop mapreduce hadoop-streaming