赞
踩
高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失
高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点(在执行时可以动态增加节点与删除节点)
高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度
高容错性:能够自动将失败的任务重新分配
NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等
DataNode:在本地文件系统存储文件块数据,以及块数据的校验和
Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份
ResourceManager(RM):管理整个集群资源(内存,CPU)
NodeManager(NM):管理单个节点服务器资源
ApplicationMaster(AM):管理单个任务的运行
Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存,CPU,磁盘,网络等(属于虚拟化技术)
客户端可以有多个
集群上可以运行多个ApplicationMaster
每个NodeManager上可以有多个Container
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
当客户端传入命令时,首先通过ResourceManager找到一台节点,开启一个Container,用于处理这个任务(ApplicationMaster),然后任务经过调度会告知ResourceManager该任务需要运行的资源,然后ApplicationMaster负责开启MapTask,这一阶段称为Map阶段,之后将Map阶段获取到的结果写到磁盘上,这一阶段称之为Reduce阶段,写入磁盘写入的是DataNode,这时还会在NameNode上进行记录元数据,还会在Secondary NameNode进行备份
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。