HDFS的数据块,默认大小为64MB,它比一般文件系统都大的多。下面我们分别来看看不同操作系统的块大小:
1.linux
本人使用的是CentOS-6.8-x86_64,如下图:
linux的块大小才1024KB,也有4086KB,但是远远小于HDFS的块大小。
2.windows
本人使用的是win764位,如下图:
windows的块大小为4086KB。
3.原因
HDFS的块比磁盘的块大,其目的是为了最小化寻址开销,如果块设置得足够大,从磁盘传输数据的时间会明显大于定位到这个块开始位置所需的时间。因而,传输一个由多个块组成的文件的时间取决于磁盘传输率。
eg:如果寻址时间约为10ms,而传输速率为100MB/s,为了是寻址时间仅占传输时间的1%,我们要将块设置为100MB。默认的块大小实际为64MB,但是很多情况下HDFS使用128MB的设置。