文件占用磁盘空间大小只与文件大小有关系,跟多少个block块没关系;
读取文件的时候需要把三个block块都读取出来,拼接起来就是一个最完整的文件
2.x默认block块大小是128M,3.x默认是256M
文件的副本数是三个
namenode负责更新保存元数据信息
datanode负责处理用户的读写数据
客户端通过namenode查找某个数据的所有block块在哪些datanode上面,然后就去datanode上面读取数据
数据副本的存放机制:namenode会首先找离客户端最近的一台机器上传block块,然后再去做备份
何为最近:跨交换机跨得最少即为最近
namenode负责数据block块的复制,定期检测block的副本数,如果不够3个,继续复制
namenode的元数据保存在两个地方,一个是内存;一个是磁盘,存的是元数据的快照,如果快照非常大,停机再启动代价非常大
block块的大小,可以根据实际工作当中的文件特性来调整,如果都是一些大文件,可以稍微调大block块的大小,
块缓存:distributedCache 可以用来实现文件缓存
hdfs的权限验证:采用与linux类似的权限验证,权限验证较弱
心跳机制