HDFS分布式文件存储系统

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架构

  1. 主节点NameNode:集群老大,掌管文件系统目录树,处理客户端读写请求,负责元数据的管理。
  2. SecondaryNamenode:严格说并不是NameNode备份节点(冷备),主要给namenode分担压力用,负责元数据合并工作
  3. 从节点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的块设置太大,会增加传输时间,导致程序处理数据慢。

你可能感兴趣的:(HDFS分布式文件存储系统)