3、hdfs儲存原理
主節點:資料目錄(元資料)服務
從節點:具體完成資料的儲存任務
hdfs:相容廉價的硬體裝置,實現流資料讀寫,支援大資料集,支援簡單的檔案模型,強大的跨平台相容性
hdfs侷限性:不適合低延遲資料訪問,無法高效儲存大量小檔案,不支援多使用者寫入以及任意修改檔案。
1、為了分攤磁碟讀寫開銷,也就是在大量資料間分攤磁碟定址開銷
2、hdfs的乙個快要比普通檔案系統的快大很多,預設64mb,也可配置
元資料目錄,資料節點,從資料節點取資料
1、支援大規模檔案儲存
2、簡化系統設計
3、適合資料備份
主節點就是名稱節點,管理hdfs集群(記錄快資訊,提供資料目錄)
檔案是什麼,檔案被分成多少塊,每個塊檔案是怎麼對映的,每個塊被儲存在哪個伺服器上邊 。
fsimage(儲存系統檔案樹),editlog(記錄對資料進行的諸如建立,刪除,重新命名等操作)。
檔案的複製等級,修改和訪問時間,訪問許可權,快大小及組成檔案的塊
在每次啟動名稱節點的時候將fsimage和editlog資訊載入到記憶體合併才可得到最新元資料,然後儲存新的fsimage,和建立乙個空的editlog
實際儲存資料
目錄,檔案,快,tcp/ip通訊協議,rpc協議(遠端呼叫)
命名空間限制,名稱節點是儲存在記憶體中的,因此名稱節點能夠容納的資料會受到空間大小的限制。
效能瓶頸,這個分布式檔案的吞吐量,受限於單個名稱節點的吞吐量。
隔離問題:由於集群中只有乙個名稱幾點,只有乙個命名空間,因此無法對不同應用程式進行隔離
集群的可用性:一旦這個唯一的名稱節點發生故障,會導致整個集群變得不可用,雖然有第二名稱節點,但它是冷備份。
底層是非常廉價的機器,出故障是常態
以快為單位進行冗餘儲存備份,預設是3塊,但是也可以個性化配置,在偽分布式中冗餘因子只能為一,因為名稱節點和資料節點都在一台機器上,不存在冗餘
優點:第乙個快到達複製三個副本第一塊放在上傳檔案的節點(如果不是集群中的節點提交的資料,hdfs會隨機挑選一台磁碟不太滿,cpu又不忙的一台節點存放)第二副本,將它放在與第一塊不同的機架上,第三個副本放在同一機架的不同節點上。(個人感覺不太合適,在hadoop權威指南上有比較嚴密的解釋)
資料讀取:
就近原則。
hdfs提供了乙個api,可以確定乙個資料節點所屬機架id,客戶端可以呼叫
4、 資料讀寫過程
讀取:
hdfs-site.xml
core-site.xml
–>獲取乙個fs.defaultfshdfs:/ip:port
寫入:
HDFS學習筆記
hdfs學習筆記 hdfs,是hadoop distributed file system的簡稱,是hadoop抽象檔案系統的一種實現。hdfs的檔案分布在集群機器上,同時提供副本進行容錯及可靠性保證。例如客戶端寫入讀取檔案的直接操作都是分布在集群各個機器上的,沒有單點效能壓力。什麼是hdfs 1....
HDFS學習筆記
1 流式資料訪問 一次寫入,多次讀取是最高效的訪問模式。資料集通常由資料來源生成或從資料來源複製而來,每次分析都在該資料集上進行 2 資料塊 檔案的獨立儲存單元,預設64mb 目的是為了最小化定址開銷 塊的元資料存在namenode的記憶體中 hdfs中乙個小於塊大小的檔案不會佔據整個塊的空間 3 ...
hadoop學習筆記(HDFS)
hdfs的設計基礎與目標 1 硬體錯誤是常態,因此需要冗餘。2 為大資料而生,流式讀寫,批量讀取而非隨機讀寫。擅長資料分析而不是事務處理。3 大規模資料集。4 一次寫多次讀邏輯設計,即一旦寫入,只能讀,不能修改。5 程式才用 資料就近 原則分配節點執行。hdfs的可靠性 冗餘副本策略 機架策略 心跳...