Hadoop入门

Hadoop四高

1)高可靠性

Hadoop底层维护多个数据副本,所有即使hadoop某个计算元素或存储故障,也不会造成数据丢失

2)高扩展性

在集群间分配任务数据,可方便的扩展数以千计的节点

3)高效性

在mapreduce的思想下,Hadoop是可以并行工作的,以加快任务处理的速度。

4)高容错性

能够自动将失败的任务重新分配

HDFS缺点:

1)不适合低延迟数据访问,比如毫秒级的存储数据,它做不到

2)无法高效对大量小文件进行存储

存储大量小文件,他会占用大量的NameNode大量的内存来存储文件目录和快信息。这样是不可取的,因为NameNode内存是有限的

小文件的寻址时间会超过读取时间,违反了HDFS的设计目标

3)不支持并发写入、文件随机修改

一个文件只能有一个写,不允许多个线程同时写

仅支持数据追加(append),不支持文件的随机修改

Hadoop组成

Hadoop1.x阶段

HDFS(数据存储)、MapReduce(计算+资源调度)、Common(辅助工具)

1.x时期,mr需要同时处理业务逻辑运算又要资源调度,压力大,耦合度大。

Hadoop2.x阶段

HDFS(数据存储)、MapReduce(计算)、YARN(资源调度)、Common(辅助工具)

Hadoop3.x阶段无变化

Hadoop集群包括两个:HDFS集群、YARN集群两个集群逻辑上分离、通常物理上是在一起的两个集群都是标准的主从架构的集群

Hadoop架构

HDFS 集群:

​ 主角色:NameNode(NN)是Master,它是管理者

​ 存储文件元数据,如文件名、文件目录结构、文件属性,以及每个文件块列表、块所在DataNode等​ 管理HDFS的名称空间​ 配置副本策略​ 处理客户端读写请求

​ 从角色:DataNode(DN) 是Slave,DataNode执行实际的操作

​ 在本地文件系统存储文件块数据和读写数据块,以及数据的校验和

​ 主角色辅助角色:SecondaryNameNode(SNN) 相当于主角色的秘书

​ 该节点并非NameNode的热备节点。当NameNode挂掉时,它并不能马上替换NameNode并提供服务

​ 它只辅助NameNode,分担NameNode工作量,比如定期合并Fsimage和Edits,并推送给NameNode

​ 每个一段时间对NameNode元数据做备份​ 紧急情况下,可辅助恢复NameNode

Client客户端

1)文件切片。文件上传HDFS时,Client将文件分成一个个block,然后进行上传;

2)与NameNode交互,获取文件的位置信息;

3)与DataNode交互,读取或写入信息;

4)Client提供了一些命名来管理HDFS,比如NameNode格式化;

5)Client可以通过一些命名来访问HDFS,比如对HDFS增删改查等操作

YARN集群:

​ 主角色:ResourceManager(RM)

整个集群资源(cpu、内存等)的老大

​ 从角色:NodeManager(NM)

单个节点服务器资源的老大

​ ApplicationMaster(AM)

单个任务运行的老大

​ Container

容器,相当于一台独立的服务器,里面封装了任务运行时所需资源,内存、cpu、磁盘、网络等

注:集群上可以有很多ApplicationMaster,每个NodeManager上可以有多个Container

Hadoop特征优点

扩容能力(Scalable):Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中。

成本低(Economical):Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。

高效率(Efficient):通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。

可靠性(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。

推荐链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: