HDFS原理:
client相当于送货员,NameNode相当于仓库管理员,DataNode相当于各个仓库。
client带来货物或者带走货物时,向NameNode询问可以使用的仓库DataNode,确定好DataNode 后,按块申请(Hadoop1.0时,每块block是64M,Hadoop2.0是默认128M),之后将数据依次按块写入到所申请的块,每写完一块就再申请一块(防止一次申请很多,但是出现错误后还要重新申请)。写入完成后,DataNode会根据设定备份N份。
通透性:用户不需要知道底层原理,就像是访问本地磁盘。
容错性:即使有些节点脱机,仍不影响数据的完整性。
不支持并发,不适合小文件。(因为即使小文件,NameNode仍要保存大量的元数据,大大增大了NameNode的开销)