hadoop-HDFS

HDFS

  • 分布式文件系统,可以由单台服务器扩展到数千台服务器


    image.png
  • NameNode关联和维护HDFS文件系统的读写操作
  • 多个DataNode1负责存储数据

HDFS优点

  • 具有高度容错能力,能实时监测错误并且自动恢复。
    • 类似于服务器的容灾能力,当某台服务器挂了,就启用备用服务器,进行数据同步
  • 数据存储为Streaming流式数据存储 。批处理数据,而不是实时处理,提高了大量处理数据的能力,但是会牺牲响应时间
  • 大数据集。提供了cluster集群架构,集群可扩展为数百个节点
  • 数据简单一致性。一次性写入多次读取,一个文件创建后就不可再修改,这样可以简化数据一致性
  • 跨硬件和跨软件。平台的可移植性

HDFS文件分割实例

image.png

文件分割

  • 用户要求以HDFS命令存储文件时,系统会将文件切割为多个(A,B,C)区块(Block),每个区块时64MB

区块副本策略

  • 一个文件区块默认复制为3分,可在Hadoop中配置
  • 某个文件区块损坏时,NameNode自动寻找其他DataNode上的副本来恢复数据,来维持3分副本的策略

机架感知

  • 有Rack1,2,3共三个机架,每个机架上有4台DataNode服务器
  • 以Blcok C为例,第一份和第二份副本放在Rack1机架上的不同节点上

其他

  • 后续的系列教程主要来自<<Python Spark 2.0 Hadoop机器学习与大数据实战_林大贵(著)>>

推荐阅读更多精彩内容