对于Hadoop 1.x这个术语“MapReduce”我有点困惑。关于这一点,我遇到了各种术语,如:JobTracker
,TaskTracker
(MapReduce中的守护进程)。现在,当我们说MapReduce时,它会引用这些守护进程或开发人员用来编写MapReduce应用程序的API吗?
用户应用程序是否在TaskTracker
,JobTracker
上执行? MapReduce本身是一个运行时环境吗?
任何人都可以用简单的语言帮助我理解这一点吗?
答案 0 :(得分:2)
MapReduce是数据处理的编程模型(在Hadoop中)。
它在Hadoop-1.x中的实现通常被称为经典MapReduce实现(或MapReduce v1),它使用Hadoop的JobTracker
和TaskTrackers
来执行Jobs及其相应的API(用户) - 用于编写它们的客户端功能)。
JobTracker
协调作业运行。TaskTrackers
运行作业被拆分的任务。总而言之,MapReduce API确定如何编写MapReduce编程模型,而实现确定如何执行使用此编程模型编写的Job。
MapReduce编程模型的YARN实现(MapReduce v2)在用于编写它的API和用于执行的守护进程(ResourceManager
,ApplicationMaster
和NodeManagers
)方面有所不同。