在MapReduce中,它也是主从结构,主节点:JobTracker,从节点:TaskTracker。主节点只有一个从节点有不少个,主节点在主机上,从节点分布到其余机器上。算法
JobTracker:app
做用:框架
一、负责接收用户提交的做业;oop
二、负责把计算任务分给TaskTracker执行;spa
三、监控TaskTracker的执行状况;日志
TaskTracker:orm
做用:排序
一、执行JobTracker分配的计算任务;接口
JobClient:队列
概念:是用户做业与JobTracker交互的主要接口。
做用:
一、负责提交做业,负责启动;
二、跟踪任务执行;
三、访问任务状态和日志等;
Hadoop中基于RPC的通讯协议
一、JobSubmissionProtocol:是JobClient与JobTracker通讯的接口。
执行过程:TaskTracker每隔一段时间向JobTracker发送hearbeat(心跳机制)提交当前TaskTracker所在机
器的内存,CPU,磁盘等状态信息,是否能够接收新任务等信息;JobTracker接收到hearbeat
给TaskTracker返回须要所作的job或task操做,是否开启新的任务。TaskTracker能够从取
得JobTracker取得当前文件系统路径,须要执行Job的Jar文件路径等.
二、InterTrackerProtocol:是TaskTracker与JobTracker通讯的接口。
做用:主要用来提交,执行Job和取得当前Job状态;JobClient能够经过此协议提交Job(submitJob),
取得当前Job的参数,状态,Counter,Task状态,文件系统路径,jar文件路径,全部Job的状
态,还有Job队列的信息,此外JobClient还能够提交KillJob和设定Job优先级等任务到 JobTracker。
MapReduce中驱动默认设置:
InputFormat |
TextInputFormat |
MapperClass |
IdentityMapper |
MapOutputKeyClass |
LongWritable |
MapOutputValueClass |
Text |
PartitionerClass |
HashPartitioner |
ReduceClass |
IdentityReduce |
OutputKeyClass |
LongWritable |
OutputValueClass |
Text |
OutputFormatClass |
TextOutputFormat |
MapReduce中常见的算法
一、单词计数
二、数据去重
三、排序
四、Top k
五、选择
六、投影
七、分组
八、多表链接
九、单表关联
MapReduce原理
MapReduce为何能实现失败检测?
正是因为采用了无共享框架,全部MapReduce才可以实现失败检测,这也意味着各个任务之间彼此独立。
MapReduce做业:
MapReduce做业(Job)是客户端须要执行的一个工做单元:它包括输入数据,MapReduce程序和配置信息等。
注意:在MapReduce中不能处理文件名以_(下划线)开头的文件.
Name:Xr
Date:2014-02-23 15:45