hadoop的一些重点
hadoop分三个阶段:
1.hdfs:负责海量数据的分布式存储,有三个对象:
namenode,secondarynode,datanode
什么是NameNode和DataNode?他们是如何协同工作的:
一个HDFS集群包含一个NameNode和若干的DataNode(start-dfs命令就启动了NameNode和DataNode)
NameNode:管理者,主要负责管理hdfs文件系统,NameNode主要是用来保存HDFS的元数据信息,比如空间信息,块信息等。当它运行的时候,这些信息是存在内存中的。但是这些信息也可以持久化到磁盘上。
DataNode主要用来存储数据文件,因为文件可能巨大无比(大数据,大于1TB),HDFS将一个文件分割成一个个的block,这些block可能存储在一个DataNode上或 者多个DataNode上。DataNode负责实际的底层的文件的读写。
SecondaryNode:职责是合并NameNode的edit logs到fsimage文件中;
2.yarn负责数量计算的调度.有两个对象:resourcemanager,nodemanager
Yarn的基本流程(执行流程):
1.client向yarn提交job,首先找ResourceManager分配资源,
2.ResourceManager开启一个Container,在Container中运行一个Application manager
3.Application manager找一台nodemanager启动Application master,计算任务所需的计算
4.Application master向Application manager(Yarn)申请运行任务所需的资源
5.Resource scheduler将资源封装发给Application master
6.Application master将获取到的资源分配给各个nodemanager
7.各个nodemanager得到任务和资源开始执行map task
8.map task执行结束后,开始执行reduce task
9.map task和 reduce task将执行结果反馈给Application master
10.Application master将任务执行的结果反馈pplication manager