Hadoop之hdfs1.x分布式存储系统学习

一、Hadoop创始人介绍

Doug cutting,就职Yahaoo期间开发了Hadoop项目,目前就职于Cloudera公司从事架构工作。Hadoop是其儿子的玩具大象,Doug cutting还编写了其情妇命名的lucene 。

二、Hadoop简介

1、分布式存储系统hdfs(存储)

2、分布式计算框架MapReduce(离线计算,spark内存计算,storm流式计算)

三、HDFS介绍

分布式存储系统,提供了高可靠性、高扩展性、高吞吐率的数据存储服务。

优点:

高容错性:

1、数据自动保存多个副本

2、副本丢失后,自动保存恢复(每个block副本都有相同的ID,副本不能在同一太机器上。)

适合批处理:

1、移动计算而非数据

2、数据位置暴露给计算框架如spark,MapReduce

适合大数据处理:

1、可以说hdfs存储内存没有上限,可以百万规模以上的文件数量,10k+节点。

可构建廉价机器上:

1、通过多副本提高可靠性。

2、提供了容错和恢复机制

缺点:

小文件存取:

1、占用nameNode大量内存。

2、寻到的时间超过读取时间

并发写入、文件随机修改:

1、一个文件只能有一个写者,仅支持append追加,修改成本很高(修改block,副本等)。

四、HDFS架构图

NameNode:主节点

SecondaryNode:辅助节点

DataNode:数据节点。

五、HDFS之DataNode

启动DN时会向NN汇报block位置信息。

通过向NN发送心跳与其保持联系3秒一次,如果超过10分钟没有心跳,NN则认为DN已经lost,并copy其上的block到其他DN(去副本copy,如果没有其他DN并且小于副本设置数量则报错)

hdfs数据存储单元格(block)。

文件被划分成固定大小的数据块:

1、默认64m,可配置。2、若文件大小不到64m,则单独存储成一个block

文件存储方式:

1、按照文件大小切分成若干个block,存储到不同的节点。

2、默认情况下每个block都有三个副本,可配置。

Block大小和副本的数通过Client端上传文件时设置(不设置系统默认),文件长传成功后副本数量可以变更,block的size不能改变。

 

六、HDFS之NameNode

主要功能:接收客户端的读写服务。

NameNode保存metadate信息(元数据)包括:文件的读写权限,文件包含哪些块,Block保存在哪个DataNode(由DataNode启动时上报位置信息)

NameNode的metadate信息(元数据)在启动后会加载到内存。

metadate存储到磁盘文件“fsimage”(每次操作会记录到内存由SecondaryNode完成更新)

Bolock位置信息不会保存到fsimage

edits记录对metadate信息(元数据)的操作日志。

七、HDFS之SecondaryNode

它不是NameNode的备份,主要工作是帮助NN合并edits,减少NN启动时间

SNN执行合并时机

1、根据配置文件设置的时间间隔fs.chenckpoint.period 默认3600秒

2、根据配置文件设置的edits log大小,fs.chenckpoint.size 规定最大默认值64m

Block副本策略

第一副本:放置在上传的DN

第二副本:放置在另一台机架上

第三副本:放置在第二副本同台机架上

第四副本:随机

八、HDFS写文件流程

1、Client上传文件通过Distributrd FileSystemAPI请求(文件信息,用户名等)到NameNode。

2、NN会根据Client设置的block大小等(绝大多数适用系统默认)返回给客户端空闲状态良好的DataNode和block大小。

3、Client获得NN返回的信息,通过FSDataOutputStreamAPI(字节流)写入文件(当写满block,写入到其他block)。

4、写出完成后关闭IO,block汇报NN修改元数据metadate。

副本:跟Client无关,到DN写完后会自动copy到其他副本(复制线程运行时,NN检查线程无法检查)

九、HDFS读文件流程

1、Client上传文件通过Distributrd FileSystemAPI请求(文件名,用户名等)到NameNode。

2、NN返回给客户端元数据metadate,NN会根据心跳检查副本健康状态返回良好的block副本位置。

3、Client获得NN返回的信息,通过FSDataOutputStreamAPI(字节流)读出文件(顺序读出)。4、读出完成后关闭IO

十、HDFS文件权限

十一、HDFS安全机制

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值