什么是分布式文件系统?
当数据集大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分区并存储到若干台单独的计算机上。
分布式文件系统:管理网络中跨平台计算机存储的文件系统。
常见的分布式文件系统有:GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。
HDFS的几个概念
HDFS以流式(来一点,处理一点)数据访问模式来存储超大文件(具有几百 MB, 几百 GB甚至几百TB大小的文件)。
数据块(Block)
磁盘有磁盘块(一般为512字节),文件有文件系统块(一般为磁盘块的整数倍,几千字节),HDFS同样也有块的概念-数据块。
数据块是什么?
-
基本存储单位,一般大小为64M,很多情况下也使用128M。
配置大的块主要是因为:
a. 最小化寻址开销,一般硬盘传输速率比寻道时间要快,大的块可以减少寻道时间。
b. 减少管理块的数据开销,每个块都需要在NameNode上有对应的记录。
c. 对数据块进行读写,减少建立网络的连接成本。这个大小也不会设置的过大:
因为MapReduce中的map任务通常一次只处理一个块中的数据。如果任务数太少(小于集群中的节点数量),作业的运行速度就会比较慢。