2.1 HDFS的使用
- 启动HDFS
2.2 HDFS shell操作
- 调用文件系统(FS)Shell命令应使用bin/hadoop fs的形式
- ls
- text
- mv
- put
- rm
2.3 HDFS设计思路
- 分布式文件系统的设计思路:
1.大文件被分割成小文件,使用分而治之的思想让很多服务器对同一个文件进行联合管理。
2.每个文件做冗余备份,并且分散存到不同的服务器,做到高可靠不丢失。 - HDFS的设计目标
1.适合运行在通用硬件上的分布式系统
2.高度容错性的系统,适合部分在廉价的机器上
3.HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用
4.容易扩展,为用户提供性能不错的文件存储系统服务
2.4 HDFS架构
- 主节点NameNode:集群老大,掌管文件系统目录树,处理客户端读写请求,负责元数据的管理。
- SecondaryNamenode:严格说并不是NameNode备份节点(冷备),主要给namenode分担压力用,负责元数据合并工作
-
从节点Datanode:存储数据块(Block),处理真正数据读写,定期向NN发送信息。
- HDFS优缺点
- 优点
- 高容错性,数据自动保存多个副本,副本丢失后,自动恢复
- 适合批处理,移动计算而不是移动数据,数据位置暴露给计算框架
- 处理大数据处理,BG,TB,PB级别
- 流式文件访问,一次写入,多次读取,保证数据一致性
- 可构建在廉价机器上,通过多副本提高可靠性,提供了容错和恢复机制
- 缺点
- 不适合低延迟的数据访问,不适合低延迟高吞吐,例如毫秒级的数据存储。
- 不适用于小文件存储,占用空间,寻道时间超过读取时间
- 不支持并发写入,和随机读取,hdfs同一时间只能有一个写入,并且不支持多次插入,只能追加(append)
- 优点
2.5 HDFS环境搭建
2.6 HDFS文件块大小
文件在物理上是分块存储(Block),块的大小可以通过配置参数(hsdf-default.xml>dfs.blocksize)来规定,默认是128M,主要取决于磁盘传输速率。
- 为什么块的设置不能太大,也不能太小?
1)HDFS的块设置太小,会增加寻址时间,程序一直在找块的位置。
2)HDFS的块设置太大,会增加传输时间,导致程序处理数据慢。
网友评论