hadoop的体系结构

一、HDFS的体系机构

1:分布式文件系统: 管理网络中跨多台计算机存储的文件系统

2:   hdfs以流式数据访问模式来存储超大文件

 一次写入,多次修改

2:数据块是存放在datanode节点上。

客户端open打开NameNode节点的连接,向DateNode节点写入数据,也可以读取数据。

3:NameNode和dataNode之间是通过心跳机制进行通信的。使用tcp协议

二、MapReduce的体系机构

1:分布式编程架构,以数据为中心,更看吞吐率,分而治之,Map将一个任务分解成多个子任务,

Reduce将分解后多任务分别处理,并将结果汇总最终结果

2:客户端启动mapreduce的核心jobTraker节点,由jobTraker向TaskTraker分配map任务,TaskTrasker对数据块进行处理。

3:jobTraker和TaskTraker也是通过心跳进行通信的。与HDFS类似,也是主从

4:TaskTraker具有独立的虚拟机。

5:JobTracker是在接受最后一个任务运行完成后,才会将作业标志为成功。

6 :map和reduce任务的输出保存的地方不一致,因为map的输出是中间结果,所以保存在本地硬盘即可,而reduce输出的结果需要保存在hdfs上。

7 : 基本概念

作业(job): 包含一个mapreduce的所有用到的ar操作

任务(Task):一个作业包含输入、输出、和若干个Task,分为mapTask 和 reduceTask

键值对: map()、reduce()函数的输入、输出都是以键值对的形式 

8: 生命周期 

     一、 提交作业  : 编写mapreduce程序,输入输出路径、通过jobclient来提交

     二、 作业调度 : FIFO调度器(默认)、公平调度器、容量调度器

     三、 任务分配 : TaskTracker和JobTracker之间的通信与任务的分配是通过心跳机制完成的 

                                 TaskTracker会主动向JobTracker询问是否有作业要做,如果自己可以做,那么就会申请到任务

     四、状态更新

相关推荐