hdfs的設計思想:
分而治之:將大文件、大批量文件,分布式存放在大量服務器上,以便于采取分而治之的方式對海量數(shù)據(jù)進行運算分析
hdfs在大數(shù)據(jù)系統(tǒng)中的作用:為各類分布式運算框架(如mapreduce、spark等)提供數(shù)據(jù)存儲服務
hdfs的概念和特性
首先,它是一個文件系統(tǒng),用于存儲文件,通過統(tǒng)一的命名空間--目錄樹來定位文件
其實,它是分布式的,由很多服務器聯(lián)合起來實現(xiàn)其功能,集群中發(fā)服務器有各自的角色
重要特性如下:
1、HDFS中的文件在物理上是分塊存儲的,塊的大小可以通過配置參數(shù)(dfs.blocksize)來規(guī)定,默認的大小在2.0以前是64M,2.0以后是128M
2、hdfs文件系統(tǒng)會給客戶端提供一個統(tǒng)一的抽象目錄樹,客戶端通過路徑來訪問文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data
3、目錄結構及文件分塊信息(元數(shù)據(jù))的管理由namenode節(jié)點承擔,namenode是HDFS集群的主節(jié)點,負責維護整個hdfs文件系統(tǒng)的目錄樹,以及每一個文件所對應的block塊信息。
4、文件的各個block的存儲管理由datanode節(jié)點承擔,data是HDFS集群從節(jié)點,每個block都可以在多個datanode上存儲多個副本(副本的數(shù)量通過參數(shù)設置,dfs.replication)
5、HDFS是設計成適應一次寫入,多次讀出的場景,且不支持文件的修改(注:適合用來做數(shù)據(jù)分析,并不適合用來做網盤應用,因為,不便修改,延遲大,網絡開銷大,成本太高)