客户端/用户将请求提交给JobTracker。 JobTracker是一个驻留在名称节点中的软件。
JobTracker是一个守护进程,它可以驻留在名称节点以外的其他机器上。
JobTracker将作业分成小的子问题并提供给TaskTracker。
JobTracker将MapReduce任务分配给群集中的特定节点,理想情况下具有该数据的节点或至少位于同一个机架中。
TaskTracker是驻留在数据节点中的软件。 TaskTracker可能会再次执行,导致多级树形结构。
通常是的。 TaskTracker可以独立运行,但它确实需要一个datanode来处理。
映射步骤只发生在JobTracker而不是JobTracker中?
地图任务由TaskTracker共同
洗牌推出和排序发生。此步骤是在Mapper步骤还是Reducer步骤中进行的?
乱序和排序过程实际上是在映射阶段和缩小阶段之间。但它们只与缩小阶段有关。没有减少阶段洗牌和排序不会发生。所以,我们可以说 - Reducer有三个主要阶段:洗牌,分类和减少。
洗牌和排序的输出被送入Reducer步骤?
在洗牌和排序中,框架通过HTTP获取所有映射器输出的相关分区。 Reducer的输入是映射器的排序输出。
减速器步骤只发生在JobTracker而不发生在TaskTracker中吗?
减少任务由TaskTracker启动。
减速器步骤即JobTracker而非TaskTracker组合数据并将输出提供给客户端/用户。
减少任务是应该在几个节点并行运行并将结果发送到HDFS。如果你喜欢,你可以读取来自不同Reducer的最终数据集的输出数据,并将它们结合到MapReduce驱动程序中。
只有1个缩小器用于组合结果?
这取决于你想要做什么。但是,如果您需要在单个reduce任务中处理大量数据,那么由于缺乏并行性,执行单个reduce任务肯定会降低性能。
这个样式问题真的很难在stackoverflow上回答。此外,几乎每一行都是错误的......所以不确定你从哪里得出这些假设。 –