Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。
6年前关闭。
Improve this question
以下是连续的步骤,中间有一些问题。如果我错了,请纠正我,并详细说明。
客户/用户将请求提交给JobTracker。 JobTracker是驻留在名称节点中的软件。 JobTracker将作业分为多个子问题,并提供给TaskTracker。 TaskTracker是驻留在数据节点中的软件。 TaskTracker可能会再次执行此操作,从而导致多层树结构。 映射步骤仅在TaskTracker中发生,而不在JobTracker中发生? 进行随机排序。此步骤是在“映射器”步骤还是“还原器”步骤中进行? 将shuffle和sort的输出输入到Reducer步骤中? reducer步骤仅在JobTracker中发生,而不在TaskTracker中发生? Reducer步骤,即JobTracker而不是TaskTracker合并数据并将输出提供给客户端/用户。 仅使用1个reducer来组合结果?
谢谢
想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。
6年前关闭。
Improve this question
以下是连续的步骤,中间有一些问题。如果我错了,请纠正我,并详细说明。
谢谢
最佳答案
JobTracker是一个守护程序,可以驻留在namenode之外的其他计算机上。
JobTracker将MapReduce任务分配给集群中的特定节点,理想情况下是具有数据的节点,或者至少在同一机架中。
通常是。 TaskTracker可以单独运行,但肯定需要在某个地方使用datanode来工作。
Map Task由tasktracker启动
随机排序过程实际上是在映射阶段和缩减阶段之间。但是它们仅与还原阶段有关。没有reduce阶段,乱序和排序将不会发生。因此,我们可以说-Reducer有3个主要阶段:随机,排序和减少。
通过随机排序,该框架通过HTTP获取所有映射器的输出的相关分区。 Reducer的输入是映射器的排序输出。
reduce task 由TaskTracker启动。
reduce task 是应该在多个节点中并行运行并向HDFS发出结果的任务。您可以从不同的reducer读取最终数据集中的输出数据,并根据需要在MapReduce驱动程序中对其进行组合。
这将取决于您要做什么。但是,如果您要在单个reduce任务中处理大量数据,则由于缺乏并行性,只有一个reduce任务肯定会降低性能。
08-28 16:28