2013-03-17 119 views
-1

我是hadoop开发新手。我读了关于hadoop集群结构并了解到有一个namenode,jobtracker,tasktracker和多个datanode。 当我们编写map-reduce程序时,我们实现了mapper和reducer。我也理解这些分歧的逻辑。但我不明白他们在hadoop集群中是如何执行的。 仅在namenode中执行映射器吗? reducer是否在datanodes上独立执行? 我需要做大量的parralel计算,不想使用HDFS,我怎样才能确保每个输出集合(来自mapper)在所有datanodes中独立执行? 请解释一下hadoop集群和map/reduce逻辑之间的关系。 非常感谢!Hadoop集群和MapReduce逻辑

+0

购买一本书,读MR一些文章,请SO发布查询。这是MR/Hadoop的基本查询之一。我在我的博客上整合了一些MR/Hadoop资源[here](http://www.thecloudavenue.com/p/hadoopresources.html)。 – 2013-03-18 01:40:02

+0

我已经购买并阅读“Hadoop in Action”,也阅读了很多教程/博客。但是我对理解map/reduce和集群体系结构的关系有一个问题。例如:如果我编写Partitioner并且只有很少的reducers,它是否保证每个reducer分别在datanode中执行?看看,我不想用传统方式使用hadoop的主要问题(在DFS中分析数据),我想在群集上运行硬计算作业,而不需要大数据。 – 2013-03-18 07:02:30

+0

这里我不需要程序的例子,我需要基本的hadoop解释和用几句话来映射/减少东西。有时候这些基本的东西对于未来学习非常重要(你是开发者,我想你明白我的意思)。 – 2013-03-18 07:05:06

回答

1

地图缩减作业由作业跟踪器和任务跟踪器执行。

作业跟踪器启动作业,将输入文件/文件分割成多份。任务追踪者获得在拆分上运行地图任务的这些拆分(每个拆分一个地图任务)。映射器抛出它们的输出之后。根据映射输出键,这个输出将在缩减器上传递。类似的键被发送到一个减速器。减速器可以超过1个,具体取决于您的配置。 Reducer进程也只在一个tasktracker节点上运行。

你可以看到在工作的统计,JobTracker的UI,其通过对50030端口的默认运行。

您也可以访问我的网站,了解有关Bigdata技术的示例主题。另外,你可以发布你的问题,我会尽力回答。

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

+0

好吧,据我所知:hadoop不是我所需要的(我的意思是并行计算)? – 2013-03-18 13:23:46

+0

Hadoop仅为您提供并行计算。一个文件被分割并且被并行处理。 它可以在很短的时间内处理一个非常大的数据集 – 2013-03-18 16:13:45

+0

作为我的回答,好的结论是Reducer可以在TaskTrackers上平行运行,并且我们可以控制减速器数量,感谢您的帮助。 – 2013-04-27 11:01:16