Hadoop Map/Reduce是一个使用简单的软件框架,给予他写出来的程序可以运行在上千台机器上。
一个Map、Redeuce作业通常会把输入数据切分为若干个独立的数据块,并有Map忍辱(task)完成并行方式的处理。框架会对Map的输出先进行排序,然后把结果输出给Reduce任务。通常作业的输入输出都会存储在文件系统中。整个框架负责任务的调度和执行。
通常,Map/Reduce框架和分布式文件系统试运行在一组相同的节点上,也就是说计算节点和存储节点通常在一起,这种方式允许框架在哪些已经存储数据的节点上高效地调度任务。这可以使整个集群的网络带宽能够被高效的利用。
Map/Reduce 框架由一个单独的Master JobTracker 和每个集群节点上的一个Slave JobTracker 共同组成。master 负责调度所有的 任务,这些任务分布在不同的salve几点上,master负责监控他们的执行,而slave则负责执行master 分配的任务。
应用程序应该指出输入、输出的路径,并提供合适的抽象类、接口实现map、reduce函数。再加上其他作业的参数就构成了作业配置。然后hadoop的job client 提交作业(jar 包、可执行程序等)和配置信息给JobTracker,然后他负责分发这些作业和配置给client,调度任务并监控他们的执行。JobTracker则负责JobTracker分配给他们的任务并返回状态信息。
虽然Hadoopk框架式用Java实现的,但是Map/Reduce函数则不一定用JAVA来写。
一个Map、Redeuce作业通常会把输入数据切分为若干个独立的数据块,并有Map忍辱(task)完成并行方式的处理。框架会对Map的输出先进行排序,然后把结果输出给Reduce任务。通常作业的输入输出都会存储在文件系统中。整个框架负责任务的调度和执行。
通常,Map/Reduce框架和分布式文件系统试运行在一组相同的节点上,也就是说计算节点和存储节点通常在一起,这种方式允许框架在哪些已经存储数据的节点上高效地调度任务。这可以使整个集群的网络带宽能够被高效的利用。
Map/Reduce 框架由一个单独的Master JobTracker 和每个集群节点上的一个Slave JobTracker 共同组成。master 负责调度所有的 任务,这些任务分布在不同的salve几点上,master负责监控他们的执行,而slave则负责执行master 分配的任务。
应用程序应该指出输入、输出的路径,并提供合适的抽象类、接口实现map、reduce函数。再加上其他作业的参数就构成了作业配置。然后hadoop的job client 提交作业(jar 包、可执行程序等)和配置信息给JobTracker,然后他负责分发这些作业和配置给client,调度任务并监控他们的执行。JobTracker则负责JobTracker分配给他们的任务并返回状态信息。
虽然Hadoopk框架式用Java实现的,但是Map/Reduce函数则不一定用JAVA来写。