HDFS
HDFS
簡介:node
- HDFS:是一個分佈式的文件存儲系統
- namenode:管理者,一個HDFS體系只有一個nn節點,保存數據在dn上的位置等信息,肯定數據上傳時存儲的具體位置
- datanode:員工:用來直接存儲數據,一個體系中能夠有一個或多個dn
- secondarynamenode:是對nn進行備份的
- client:客戶端,用戶直接進行操做的地方,負責將數據上傳到dn,跟nn通訊,數據的下載。

注:多個節點組成一個集羣,在他們上面進行數據的存儲,造成的系統就是HDFS(這裏的節點跟服務器和客戶端同樣都是應用)

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
- 代碼中設定的參數
- 若是三個地方都進行了相關屬性的配置,那麼屬性的值是有一個優先級的:
- 代碼中設定參數 > 用戶自定義配置文件 > 默認配置文件
相關配置文件的修改
- 想要搭建徹底分佈式集羣,須要對hadoop-3.2.2/etc/hadoop/目錄下的用戶自定義配置文件進行以下配置:
歡迎關注本站公眾號,獲取更多信息