Hadoop思想

  • 化整为零:将大数据切割成Block,放到各个集群机器上

  • 并行计算

HDFS

  • 存储模型:字节

  • 文件线性切割成块(Block)

    • 按字节数组进行切割(将大数据看成一个大型的byte数组)
  1. 对于UFT-8占用3个字节,有可能会出现,第一个字节在A Block,后两个字节在B Block,怎么解决?
  2. HDFS会对他进行校验处理,后续深入学习
  • 偏移量(offset)
  • Block分散存储在集群节点中:随机存储

  • 单一文件Block大小一致(一个文件在每个Block中切割成的大小一致,最后一个Block大小可不同)

  • 文件与文件可以不一致(每两个文件之间,由于文件大小不同,分割在Block上的大小当然不同)

  • 可设置Block副本数(默认为3),副本无序分散在不同节点上( 副本数不要超过节点数量 )

    1. 副本数要根据使用这份数据的程序的频率,适当增大,这样保证计算分布在各个节点上,不至于所有程序在某几个节点上
    2. 计算,造成资源拥堵;
  • 可设置Block大小,默认:128m

  • 已经上传的文件副本数可调整,Block大小不能变

  • 文件只支持一次写入,多次读取;同一时刻只能有一个写入者

  • 不能修改、删除文件(因为文件变动,Block大小随之变动,会影响其他快的offset随之变动,引起蝴蝶效应),但是可通过Block追加数据