一、hdfs(hadoop distributed file system的英文首字母縮寫)
意思是hadoop分布式檔案系統,主要用來解決海量資料的儲存問題
概念:hdfs是乙個分布式的(何為分布式?在空間的任意點上隨意分布)由很多伺服器聯合起來實現其功能,集群中的伺服器有各自的角色。其次是乙個檔案系統,用於儲存檔案,通過統一的命名空間–目錄樹來定位檔案。
二、hdfs的設計思想
1、分散均勻儲存 dfs.blocksize=128m
2、備份冗餘儲存 dfs.replication=3
三、hdfs的特性
1、物理上分塊儲存:塊大小可以通過配置dfs.blocksize來規定,如不配置,那麼2.x版本預設為128m,1.x版本預設是64m
2、有統一的命名空間–目錄樹,客戶端可以通過目錄路徑來訪問檔案
3、目錄結構和分塊資訊(元資料)的管理由namenode節點承擔
4、block的儲存管理由datanode承擔
5、hdfs設計成適應一次寫入,多次讀出的場景,不支援檔案修改(所以適用於做資料分析,不適宜做網盤應用)
四、hdfs侷限性
1、由於hdfs是為高吞吐量做出的設計,所以它在響應速度上做出了犧牲,對於低延時的應用不太適用,一般使用hbase
2、當儲存的是大量小檔案的時候,由於hdfs預設的塊大小為128m,所以大量的小檔案會增加namenode上的元資料,從而影響集群的效能。
3、不支援多使用者寫入,以及檔案修改,hdfs只有乙個寫入者,從而寫操作只能在檔案結尾以追加的方式進行。
五、hdfs保證其可靠性的措施
1、冗餘備份
每個檔案儲存為一系列的資料塊,為了容錯,檔案的所有資料塊都會有副本(副本機制dfs.replication)
2、副本存放策略
採用機架感知的策略來改進資料的可靠性、高可用和網路頻寬的利用率
3、心跳檢測
namenode週期性的從及群眾的每乙個datanode接受心跳檢測包和塊報告,來獲取datanode的工作情況,並採取措施。
4、安全模式
系統啟動時,namenode會進入安全模式,此時不會出現資料塊的寫操作
5、資料完整性檢測
hdfs客戶端軟體實現了對hdfs檔案內容的校驗和檢查
hadoop 三 hdfs 機架感知
client 向 active nn 傳送寫請求時,nn為這些資料分配dn位址,hdfs檔案塊副本的放置對於系統整體的可靠性和效能有關鍵性影響。乙個簡單但非優化的副本放置策略是,把副 本分別放在不同機架,甚至不同idc,這樣可以防止整個機架 甚至整個idc崩潰帶來的錯誤,但是這樣檔案寫必須在多個機架...
hadoop系列三 HDFS操作
0 檢視hdfs中的目錄資訊 hadoop fs ls hdfs路徑 1 上傳檔案到hdfs中 hadoop fs put 本地檔案 aaa hadoop fs copyfromlocal 本地檔案 hdfs路徑 copyfromlocal等價於 put hadoop fs movefromloca...
Hadoop學習 HDFS資料儲存和刪除
hdfs中的資料都是分塊儲存的,預設塊大小為64m,這個值可以從hdfs配置檔案中更改dfs.blocksize。這樣分快處理的好處是可以增加讀取資料的吞吐量,因為可以同時從讀取檔案的不同分塊。在客戶端想hdfs寫資料的過程中,主要分為下面幾個過程 客戶端將資料快取到本地的乙個臨時檔案中 當這個本地...