Hadoop入门之组成概述
Hadoop为分布式系统基础结构
多个服务器共同解决一个问题,进行海量数据的储存和海量数据的分析计算
HDFS架构
NameNode:储存文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等
DataNode:在本地文件系统储存文件块数据,以及块数据的校验和
Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份
这里NameNode好比具体数据的目录,记录每个数据储存在哪里以及信息,DataNode好比数据的仓库,储存具体的数据,2nn为秘书,作为NameNode备份,防止数据丢失
类比,DataNode好比一个个盒子储存具体数据,NameNode好比这些盒子的名单,对应每个盒子以及盒子里面储存了什么,2nn为NameNode的备份
YARN架构
yarn是资源协调者,作为hadoop的资源管理器
ResourceManger:主管理者,管理所有资源,内存和cpu为所有NodeManger的总和
NodeManger:单个服务结点的服务器资源管理器
ApplicationMaster:单个任务运行的管理
Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源例如内存,cpu等
说明:客户端可以有多个,集群上可以运行多个ApplicationMaster,每个NodeManger上可以有多个Container
MapRedurce架构
主要作用是海量检索数据
把任务分布给多个hadoop结点服务器,Map阶段
这些结点汇总结果,Reduce阶段
HDFS、YARN和MapReduce的关系
当一个client需要进行查询时,会向RescourceManger提交一个任务,RescourceManger将任务给NodeManger,NodeManger开启一个容器Container里面放一个AppMstr,并且回复RescourceManger告之需要多少的资源,然后找到有对应资源的结点并且开启MapTask,分布任务,然后每个MapTask再汇总返回给用户