每天一点hadoop 第九篇HDFS(五)

HDFS的读操作

1.通过客户端发出open的命令,给分布式文件系统
2.分布式文件系统再从namenode上获得所要读取的文件的block的位置。
3.客户端向FSDataInputStream发送读的命令。
4.Datanode将所有的block块拼接起来发送给FSDataInputStream使客户看到完整的文件而不是分割成的一块一块的文件。(4,5一个操作)
6.关闭FSDataInputStream 通道。这里写图片描述

HDFS的写操作

1.通过客户端发送创建命令给分布式文件系统
2.文件系统发送给namenode询问是否可以创建文件。
3.可以的话客户端发送写的命令,给FSDataInputStream
4.向Datanode写入文件,写完一个block之后在写下一个(流水线式的)并且同时也在复制文件副本。
5.都完成后返回信息给FSDataInputStream
6.关闭FSDataInputStream(关闭流)这里写图片描述

这里对读写操作的解释比我的要好,大家可以看看
http://www.aboutyun.com/thread-6779-1-1.html

HDFS2.0

1.NameNode HA:
有两个namenode 一个处于active状态,一个处于standby状态 两者都是从Journanode中存放数据,来保证数据的一致性这里写图片描述
2.NameNode Federation(联邦):两个namenode分别管理不同的目录,两者无交叉这里写图片描述
3.HDFS快照
1.数据的备份,防止误操作
2.记录某一时刻的数据
4.HDFS缓存
目的:
1.防止内存资源浪费
2.能够与其他框架共享内存资源
实现
1.可通过命令对一级文件进行加入和移除操作(有局限不能针对到块,不能自动缓存)
2.可设置缓存失效时间
3.独立管理未与Yarn集成在一起(可自设置缓存大小)
4.以pool的形式组织缓存(自己不太清楚)
5.HDFS ACL :权限管理(对文件权限的补充)
6.异构层级存储结构
背景
1.HDFS将文件抽象成统一的Disk
2.一个集群中存储的介质繁多
多种任务需同时运行在hadoop集群上(不同性能要求的数据可存储在不同的介质上 )
实现 :
1.HDFS仅提供异构的存储结构性能未知
2.提供API,控制数据的写入介质存储
3.提供管理工具控制各种介质的使用大小

参考:小象学院hadoop教程 董西成
http://dongxicheng.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值