mapreduce数据流程优化案例 mapreduce的计算框架为哪三个部分?
mapreduce的计算框架为哪三个部分?
MapReduce乾坤二卦四个组成部分,各为Client,JobTracker,TaskTracker,Task
客户端
每一个Job都会在用户端通过Client类将应用程序以及配置信息Configuration发到邮箱成Jar文件上传到HDFS,并把路径并提交到JobTracker的master服务,接着由master创建战队每一个Task(即MapTask和ReduceTask),将它们分发到各个TaskTracker服务中去想执行。
JobTracker专门负责资源监控和作业调度。JobTracker监控所有的TaskTracker与Job的是健康状态,否则的话突然发现失败,就将相应的任务撤回到其他节点;同样的JobTracker会跟踪任务的执行进度,资源使用量等信息,并将这些信息告诉任务调度器,而指挥调动器会在资源会出现空闲时,你选择最合适的任务不使用这些资源。在Hadoop中,任务调度器是三个可的模块,应用于可以根据自己的需要设计你所选的调度器。
3TaskTracker
TaskTracker是启动在多个节点上的slave服务。TaskTracker主动与JobTracker通信(与DataNode和NameNode相象,心跳来利用),会周期性地将本节点上资源可以使用情况和任务的运行进度汇报情况给JobTracker,同时不能执行JobTracker邮箱里进来的命令并想执行或则的操作(如起动新任务,杀了任务等)。TaskTracker在用#34slot#34等量划分本节点上的资源量。#34slot#34代表可以计算资源(cpu,内存等)。另一个Task某些到一个slot之后才有机会正常运行,而Hadoop调度器的作用应该是将各个TaskTracker上的多余的时间slot分区分配给Task使用。slot可分MapSlot和ReduceSlot两种,各需要提供MapTask和ReduceTask在用。TaskTracker是从slot数目(可配置参数)限定Task的并发度。
4Task:
Task统称MapTask和ReduceTask两种,均由TaskTracker启动后。HDFS以固定不动大小的block为基本都单位存储数据,而对此MapReduce而言,其全面处理单位是split。split是一个逻辑概念,它只乾坤二卦一些元数据信息,.例如数据起始位置、数据长度、数据所在节点等。它的划分方法几乎有用户自己判断。但需要注意什么,explode的多少判断了MapTask的数目,只不过每一个split只会送到一个MapTask处理。
mapreduce的工作原理简答题?
1.有一个待全面处理的大数据,被划作成大小是一样的的数据库(如64MB),这些与此或则的用户作业程序。
2.系统中有一个共同负责调度指挥的主节点(Master),包括数据Map和Reduce工作节点(Worker).
3.用户作业再提交个主节点。
4.主节点为作业程序这里有和配备用些的Map节点,并将程序传送给map节点。
5.主节点也为作业程序去寻找和配备后用的Reduce节点,并将程序传送给Reduce节点。
6.主节点启动每一个Map节点执行程序,每个Map节点尽肯定无法读取本地或本机架的数据并且换算。(实现方法代码向数据进发,减少集群中数据的通信量)。
7.每个Map节点去处理读取数据的数据块,并做一些数据整理工作(combining,sorting等)并将数据存储在本地机器上;同样的通知到主节点计算委托任务并告知主节点中间结果数据的存储位置。
8.主节点等所有Map节点计算能完成后,正在启动时Reduce节点运行;Reduce节点从主节点所完全掌握的中间结果数据位置信息,远程读取这些数据。
节点算出结果汇总输出到一个结果文件,即完成整个处理结果。
节点 TaskTracker 数据 JobTracker 任务
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。