hdfs可以跨越大集群中的機器可靠地儲存非常大的檔案,將檔案儲存為一系列的塊,除了最後乙個塊外,所有的塊的大小都是相同的。當然若檔案大小正好為塊大小的倍數則所有塊的大小相同。為了容錯的目的,乙個檔案的塊會被複製成若干份,塊大小和複製因子是可配置的。應用程式可以指定檔案的副本數量,複製因子可以在檔案建立時指定,也可以以後修改。hdfs中的檔案是一次性寫入的,在任何時候都是嚴格一次性寫入的。
namenode做出關於塊副本的決定,它周期性地收到集群中每個datanode的心跳和塊報告。收到心跳意味著datanode執行正常,塊報告包含datanode上所有塊的清單。下圖即為datanode中塊複製和namenode中元資料的圖示。
副本的布局對hdfs的可靠性和效能是很關鍵的,副本布局的優化是hdfs和其它多數分布式檔案系統的區別,優化副本布局需要很多除錯及經驗。機架感知的副本布局策略的目的是改進資料的可靠性、可用性和網路頻寬的利用率,副本布局策略的目前實現是上述方向的第一次成果。該策略實現的短期目標是在生產系統上驗證它,更加了解它的反應,建立測試的基礎並且研究更加精細的策略。
執行大的hdfs例項的集群中的計算機通常分布在很多機架上,不同機架上兩個節點的通訊必須通過交換機。在多數情況下,相同機架
Hadoop學習筆記(九)HDFS架構分析
巨大的分布式檔案系統 10pb以上,萬個以上節點 執行於普通硬體 檔案多重備份,探測失敗和錯誤恢復 優化批處理 資料暴漏位置,以便計算能夠挪到資料附近 提供高舉和的頻寬 使用者控制項可以位於異構的作業系統中 在整個集群中使用單一的命名空間 資料一致性 寫入一次讀取多次的訪問模型 客戶端只能追加已有的...
Hadoop學習之HDFS讀流程
hdfs讀流程圖 假設需要讀取hdfs根目錄下的bigdata.log檔案,使用如下命令 整個流程如下 1 客戶端會呼叫distributedfilesystem.open方法與namenode進行rcp通訊,namenode會返回該檔案的部分或全部的 block列表 也包含該列表各block的分布...
Hadoop學習回顧之HDFS提綱
hdfs的設計理念 超大儲存 廉價x86伺服器 流式資料訪問 一次寫入,多次讀取,如果不借助hue,無法直接對hdfs檔案進行修改儲存,需要利用 hdfs dfs put命令 hdfs缺點 實時訪問弱,如要求秒級或者毫秒級資料訪問,考慮使用hbase 不適合儲存大量小檔案,hdfs啟動時,namen...