HDFS1.0小記
- HDFS概念及做用:HDFS是一個分佈式文件式系統。用於存儲海量數據,能夠存儲多種格式文件。
- HDFS1.0由3個組件組成,分別是:nameNode,secondaryNameNode,dataNode。
- 整個hdfs集羣裏面有三種角色:主節點、從節點、客戶端。
- hdfs儲存的單元是block,一個block的大小是64M。
- 默認一個文件會保存3份。
- dataNode主動經過「心跳」,向nameNode彙報本身的空閒狀態。
- nameNode的職責:
- nameNode的元信息持久化: 在nameNode中存放元信息的文件式fsimage。在系統運行期間全部對源信息的操做都保存在內存中並持久化到另外一個文件edits中。而且edits文件和fsimage文件會被secondaryNameNode週期性合併。
- hdfs致命的缺點:nameNode的點單問題。
- dataNode的職責:
- 負責存儲數據塊,負責爲哭護短提供數據塊的讀寫任務。
- 根據nameNode的指示進行建立、刪除和複製等操做。
- 心跳機制,按期報告文件塊列表信息。
- dataNode之間進行通訊,塊的副本處理。
- secondaryNameNode:命名很差,secondaryNameNode並非nameNode的備份。
- secondaryNameNode的職責:
- 定時到nameNode去獲取edit logs,並更新到fsimage。
- 一旦它有了新的fsimage文件,它將其拷貝回nameNode中。(注:secondaryNameNode和nameNode內都有fsimage)
- nameNode在下次重啓時回使用這個新的fsimage文件,從而減小重啓時間。
- 兩個備份文件的做用:
- fsimage:它是在nameNode啓動時對整個文件系統的快照。
- edits logs:它是在nameNode啓動後,對文件系統的更改進行記錄。
- 數據完整性校驗的兩種校驗方法:
- 校驗和:client經過crc32,在每512個字節建立一個校驗碼,當校驗經過後,dataNode再向block保存數據。
- 數據塊檢測程序DataBlockSCanner:在dataNode節點上開啓一個後臺棧程,來按期驗證存儲在它上全部塊,這個是防止物理介質出現損減狀況而形成數據損失。
- hdfs經常使用命令
- 查看文件 hadoop fs -ls 文件目錄
- 上傳文件 hadoop fs -put 上傳文件 hdfs位置+文件名稱
- 刪除文件 hadoop fs -rmr 文件目錄
- 修改權限(級聯) hadoop fs -chmod -r 文件目錄
歡迎關注本站公眾號,獲取更多信息