HDFS是一个分布式文件系统,它类似Linux下 Ext2,3,4一样的文件系统。只是它是分布式文件系统,能够容忍故障且不丢失数据。
HDFS是一个流式数据访问模式来存储大文件的,什么是流式?流式一般对应下载,就是可以传输过来一点数据,处理一点数据而不用等全部数据下载完。
HDFS是一个设计为高延迟,高吞吐的文件系统。
HDFS是namenode,datanode的结构。
HDFS的数据块单位是128M(低版本64MB),它的计算规则如下,假如块大小为 X,硬盘的寻址时间为10ms,硬盘的传输速度为100MB/s。为了让寻址时间占到传输时间的1%,则
X/(100MB/s) = 10ms/ (1%)
则推算出 X为100MB。
HDFS写文件流程,Client通知NameNode,NameNode给Clent分配一个DataNode序列,Client和最近DataNode建立链接,发送请求依次下传。最后一个DataNode,发送回包,依次回传。最后,Client释放链接。
HDFS读文件流程,Clinet联系Namdode,NameNode返回数据块信息及数据服务器的位置信息。尝试连接数据块的一个数据服务器,数据块被一个一个发回客户端,等这个块读完了,尝试连接另一个数据块的一个数据服务器,如此反复。
HDFS提供了很多压缩算法,目的为减少文件存储空间加快传输效率。
以上是个人现阶段整理及理解~~