【发布时间】:2013-02-22 06:32:49
【问题描述】:
我想了解在 Hadoop 中使用 KFS 作为文件系统时 mapreduce 是如何发生的。
# ./bin/start-mapred.sh
如果 map/reduce 作业/任务跟踪器启动,所有 I/O 都将完成到 KFS。
那么,假设我的输入文件分散在不同的节点(Kosmos 服务器),我(hadoop 客户端使用 KFS 作为文件系统)如何发出 Mapreduce 命令?
此外,在发出 Mapreduce 命令后,我的 hadoop 客户端会从不同的服务器获取所有数据到我的本地机器,然后执行 Mapreduce,或者它会在输入文件所在的机器上启动 TaskTracker 守护进程在那里找到并执行 Mapreduce? 如果我错了,请纠正我,但我想输入文件顶部 Mapreduce 的位置是由函数 getFileBlockLocations (FileStatus, long, long) 返回的。
非常感谢您抽出宝贵时间帮助我。
问候, 尼基尔
【问题讨论】:
-
你说的是 Kosmos 文件系统(KFS)
-
是的。感谢您的回复,但我仍然不清楚 Mapreduce 实际发生在哪里?
-
查看我的更新答案。