Hadoop基礎

xiaofengqqcom123發表於2020-03-23

核心

  • HDFS分散式檔案系統:儲存是大資料技術的基礎
  • MapReduce程式設計模型:分散式計算是大資料應用的解決方案

HDFS

概念:

  • 資料塊: 抽象塊而非整個檔案作為儲存單元;一般設定為64BM,備份X3
  • NameNode: 管理檔案系統的名稱空間,廚房檔案後設資料;維護著檔案系統的所有檔案和目錄,檔案與數塊的對映;記錄每個檔案中各個塊所在資料節點的資訊
  • DataNode: 儲存並檢索資料塊;向NameNode更新所儲存塊的列表

特點

  • 普通的成百上千的機器
  • 按TB甚至Pb為單位的大量的資料
  • 簡單編輯的檔案獲取

優點

  • 適合大檔案儲存,支援TB、PB級別的數儲存,並有副本策略
  • 可以構建在廉價的機器上,並有一定的容錯和恢復機制
  • 支援流式資料訪問,一次寫入,多次讀取最高效

缺點

  • 不合適小量小檔案儲存
  • 不適合併發寫入,不支援檔案隨機修改
  • 不支援隨機讀低延時的訪問方式

寫流程

Hadoop基礎

  1. 客戶端向NameNode發起寫請求
  2. 分塊寫入DataNode節點,DataNode自動完成副本備份
  3. DataNode向NameNode彙報儲存完成,NameNode通知客戶端

讀流程

Hadoop基礎

  1. 客戶端向NameNode發起讀資料請求
  2. NameNode找出距離最近的DataNode節點資訊
  3. 客戶端從DataNode分塊下載檔案

簡單使用

  1. shell指令碼
常見HDFS Shell命令
- 類linux命令:ls、cat、mkdir、rm、chmod、chown等
- HDFS檔案互動:copyFromLocal、copyToLocal、get、put等
幫助命令:./hdfs dfs -help
複製程式碼

相關文章