HDFS中block、packet、chunk的概念
1. 数据块block
每个磁盘都有默认的数据块大小,这是磁盘进行数据读写的最小单位。
HDFS也有块(block)的概念,但是大得多,默认128MB,与单一磁盘上的文件系统相似,HDFS上的文件也被划分为块大小的多个分块(chunk),作为独立的存储单元。
但与面向单一磁盘的文件系统不同的是,HDFS中小于一个块大小的文件不会占据整个块的空间(如一个文件只有1MB存储在128MB的块中,文件只使用1MB的磁盘空间,而不是128MB)。
2. packet
client向datanode传输数据的最小单位称为packet (64k=512 byte +4 byte);
3. chunk
chunk是最小单位,默认为512byte,加上4byte的校验位chunksum;
HDFSClient创建FSDataInputStream/FSDataOutputStream流时会产生缓冲队列,存储512byte的chunk加4byte的校验位chunksum;
chunk–>Packet–>block