Hdoop生态系统学习总结

Google发表的三篇论文:HFS ,MapReduce,bigtable
和传统的单机操作相比,大数据解决的就是大数据的存储大数据的计算问题 在这里插入图片描述
Hadoop是一个分布式基础架构,具有4高的特点:
高可靠性:副本机制
高扩展性:随时横向增加计算机,扩大集群
高效性:多个数据节点可以同时并行工作,提高效率
高容错性:能够将失败的任务重新分配
Hadoop从广义上来说是只hadoop生态圈,从狭义上来说,就是HDFS,Yarn,MapReduce

【重点:hadoop 1.x V.S Hadoop 2.x 的区别?】
在hadoop 1.x 时代,mapreduce同时负责任务的调度计算和计算所需要的资源(cpu,内存等)的调度,任务较重。而在hadoop2.x 之后引入了yarn,至此mapreduce只负责计算,yarn负责资源的调度。(yarn非常重要,后面由于发展的需要,衍生了不同的分布式集群,当不同的集群都基于HDFS,想用HDFS的数据来查看,计算,都要yarn进行调度。怎么理解呢,HDFS负责存储数据资源。我们把HDFS集群中的计算机比喻成一个一个的工人,每个工作组都有任务要让这些工人做,各个工作组的负责人并不知道这些工人目前是什么状态,手上有多少工作,是不是闲着,有没有能力完成这些工作,这个时候就需要一个总的指挥者yarn,他知道这些所有人的状态,所以各个工作组需要向yarn申请工人,yarn就根据各个工作组的任务量大小,合理分配工人给他们)
在这里插入图片描述

HDFS

在这里插入图片描述
HDFS(Hadoop Distribution File System)hadoop分布式文件系统,通过目录树定位文件。
一、HDF设计原则
1、解决单机无法存储非常大的文件:几百G,TB,PB级别的文件,一台电脑装不来,就多找几台电脑来张,甚至成百上千台电脑。
2、适合一次写入多次访问的情况:HDFS基于这样的假设,有效数据一次录入,工作中多次从数据源读取数据,进行查找分析。
3、 运用于商业硬件上:hadoop集群不需要特别贵,特别可靠的机器,普通商用机器即可(也可从不同厂家购置)。

二、HDFS核心概念
1、 Blocks
物理磁盘的最小单元是‘块’,读写操作均以块为单位,一般是512Byte。分布式文件系统在物理磁盘‘块’的基础之上抽象出block概念,以HDFS为基础的集群,读写操作都是在block级别上进行操作。
HDFS的block一般为128M(也可根据业务更改)。HDFS分布式文件系统中的文件均以‘block’为独立单元存储在不同的机器上。但是比block小的文件不会占用整个block,只会占据实际大小。例如一个300M的文件上传至HDFS系统,被拆成3个block,分别是128M+128M+44M,最后一个block只占用实际44M空间,而不是128M。
block的拆分,使得实际文件可以大于整个磁盘的容量,这样实际文件可以拆分出来,存储在不同的机器磁盘上。Hadoop的高容错也是以block为单元进行复制的。
【面试重点】block文件大小如何定?
在这里插入图片描述
思考:为什么block不能定太大或或者太小
答:如果太小,会增加寻址时间,程序一直在找块的开始位置
如果太大,从磁盘传输数据的时间会大于定位这个block开始位置所需要的时间,导致程序处理这个block数据会非常慢。
总结:HDFS快的大小设置取决于磁盘传输速率。

2、 NameNode和DataNode
NameNode和DataNode构成了HDFS集群的一主(master)多从(slave)模式。NameNode负责管理原数据,DataNode负责存储,读写工作

Namenode:集群中active的NameNode只有一个,部署在单独一台计算机。保存元数据和操作日志,元数据就是指文件名,文件长度,文件所属用户组,文件存储位置等。在HDFS中,在HA(High Availability高可用性)中,如果namenode出现单点故障,会启动另一个热备(hot standby)作为新的acitive NameNode。

Datanode:集群多台计算机,这些计算机提供硬盘空间用于存储数据(一般不要提供系统盘)。Datanode负责读写操作,这些操作请求可能来自于namenode,也可能来自于client

3、SecondaryNameNode
SecondaryNameNode:一般部署在一台配置和NameNode相当的计算机上,因为SecondaryNameNode:每隔一段时间需要将edit logs和fsimage读到自己的内存中,将新生成的edit日志信息合并到fsimage中,所有内存至少要和NameNode一样。

三、HDFS读写流程

  • 写流程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值