HDFS

HDFS

簡介:node

  • HDFS:是一個分佈式的文件存儲系統
  • namenode:管理者,一個HDFS體系只有一個nn節點,保存數據在dn上的位置等信息,肯定數據上傳時存儲的具體位置
  • datanode:員工:用來直接存儲數據,一個體系中能夠有一個或多個dn
  • secondarynamenode:是對nn進行備份的
  • client:客戶端,用戶直接進行操做的地方,負責將數據上傳到dn,跟nn通訊,數據的下載。
    image
    注:多個節點組成一個集羣,在他們上面進行數據的存儲,造成的系統就是HDFS(這裏的節點跟服務器和客戶端同樣都是應用)
    image

HDFS安裝模式的分類

本地模式:

  • 特色:
    • 運行在單臺機器上
    • 沒有分佈式的概念,使用的是本地文件系統
  • 用途:
    • 用於對MapReduce程序的邏輯進行調試,確保程序的正確
    • 因爲在本地模式下測試和調試MapReduce程序較爲方便,所以,這種模式適宜用在開發階段。

僞分佈式模式:

  • 特色:
    • 在一臺機器上安裝,使用的是分佈式文件系統,非本地文件系統
    • HDFS涉及到的相關守護進程(namenode,datanode,secondarynamenode)都運行在一臺機器上,都是獨立的Java進程
  • 用途:
    • 比Standalone mode多了代碼調試功能,容許檢查內存使用狀況,HDFS輸入輸出,以及其餘的守護進程交互。
      (與本地模式的區別:一個沒有分佈式系統,一個是具備分佈式系統的)

徹底分佈式模式:

  • 特色:
    • 真實環境,多臺機器,共同配合,來構建一個完整的分佈式文件系統。
    • 真實環境,HDFS中的相關守護進程會分佈在不一樣的機器中,如:
      • namenode儘量單獨部署在一臺硬件性能相對來講比較好的機器中。
      • 其餘的每臺機器都會部署一個datanode守護進程,通常的硬件環境便可(這裏主要考慮成本)
      • secondarynamenode守護進程最好不要和namenode在同一臺機器中,否則的話備份的做用就失去了意義,一臺機器掛掉了就兩個節點都刮掉了,因此最好不在同一臺機器中。

徹底分佈式系統的搭建

Hadoop配置文件

  • 針對於Hadoop的屬性配置,有如下三處須要注意的地方:
    • 默認配置文件:
      • core-default.xml
      • hdfs-default.xml
      • mapred-default.xml
      • yarnn-default.xml
    • 用戶自定義配置文件
      • core-site.xml
      • hdfs-site.xml
      • mqpred-site.xml
      • yarn-site.xml
    • 代碼中設定的參數
      • image
  • 若是三個地方都進行了相關屬性的配置,那麼屬性的值是有一個優先級的:
    • 代碼中設定參數 > 用戶自定義配置文件 > 默認配置文件

相關配置文件的修改

  • 想要搭建徹底分佈式集羣,須要對hadoop-3.2.2/etc/hadoop/目錄下的用戶自定義配置文件進行以下配置:
    • core-site.xml
      • image
相關文章
相關標籤/搜索