Hadoop學習筆記(二)--HDFS分佈式文件系統(1)

Hadoop學習筆記(二)--HDFS分佈式文件系統

HDFS簡介

優點:

  • 處理超大文件
  • 流式的訪問數據(一次寫入,多次讀取)
  • 運行於廉價的商用機器集羣上

侷限性:

  • 不適合處理低延遲數據訪問
  • 無法高效存儲大量的小文件
  • 不支持多用戶寫入及任意修改文件

HDFS架構

主從結構

  • 主節點:只有一個NameNode(單點故障),HA下會有多個NameNode
  • 從節點:有很多DataNode

NameNode負責

  • 接收用戶操作請求
  • 維護文件系統的目錄結構
  • 管理文件與block之間的關係,blockDataNode之間的關係

DataNode負責

  • 存儲文件
  • 文件被分成block存儲在磁盤上
  • 爲保證數據安全,文件會有多個副本

HDFS核心設計

數據塊

HDFS塊默認大小,Hadoop164MHadoop2128M

數據副本存放策略

在多數情況下,HDFS默認的副本系數是3

  • 第一個block副本放在和client所在的node裏(如果client不在集羣範圍內,則這第一個node是隨機選取的,系統會嘗試不選擇那些太滿或者太忙的node)。
  • 第二個副本放置在與第一個節點不同的機架中的node中(隨機選擇)。
  • 第三個副本和第二個副本在同一個機架,隨機放在不同的node中。

安全模式

hadoop dfsadmin -safemode leave //強制NameNode退出安全模式

hadoop dfsadmin -safemode enter //進入安全模式

hadoop dfsadmin -safemode get //查看安全模式狀態

hadoop dfsadmin -safemode wait //等待,一直到安全模式結束

負載均衡

分析數據塊分佈和重新均衡DataNode上的數據分佈的工具。

$HADOOP_HOME/sbin/start-balancer.sh

心跳機制

1. Hadoopmaster/slave結構,master中有NameNodeResourceManager,slave中有DataNodeNodeManager

2. master啓動時,會啓動一個ipcInter-Process Communication,進程間通信)server服務,等待slave連接。

3. slave啓動時,會主動連接master中的服務,並且每隔3秒連接一次master,這就是心跳,slave通過心跳彙報自己的狀態給master

4. NameNode通過心跳知道DataNode的狀態;ResourceMangager也通過心跳知道Nodemanager的狀態。

5. 如果master長時間沒有收到slave的心跳,那麼它就認爲slave宕機了。

機架感知

大型Hadoop集羣是以機架的形式來組織的。默認沒有啓用。

HDFS操作

  • 命令行接口
  • Java接口



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章