-1

我是hadoop开发的新手。我阅读了hadoop集群结构,了解到有一个namenode、jobtracker、tasktracker和多个datanode。当我们编写 map-reduce 程序时,我们会实现 mapper 和 reducer。我也理解了这些类的逻辑。但我不明白它们是如何在 hadoop 集群中执行的。映射器是否仅在名称节点中执行?减速器是否在数据节点上单独执行?我需要进行大量并行计算并且不想使用 HDFS,我如何确保每个输出集合(来自映射器)在所有数据节点中单独执行?请解释一下hadoop集群和map/reduce逻辑之间的联系。非常感谢!

4

1 回答 1

1

Map Reduce Jobs 由 Job Tracker 和 Task Tracker 执行。

Job Tracker 启动作业,将输入文件/文件分成多个部分。Tasktrackers 被给予这些分裂,他们在分裂上运行地图任务(每个分裂一个地图任务)。在 Mappers 抛出他们的输出之后。这个输出将根据 map 输出键传递给 reducer。类似的密钥被发送到一个减速器。Reducer 可以超过 1 ,具体取决于您的配置。Reducer 进程也仅在 tasktracker 节点之一上运行。

您可以在 jobtracker UI 上查看 Job 的统计信息,该 UI 默认在 50030 端口上运行。

您也可以访问我的网站以获取有关大数据技术的示例主题。另外,您可以发布您的问题,我会尽力回答。

http://souravgulati.webs.com/apps/forums/show/14108248-bigdata-learnings-hadoop-hbase-hive-and-other-bigdata-technologies-

于 2013-03-18T10:26:57.333 回答