天天看點

HDFS一些概念的了解

HDFS(Hadoop Distribute File System)分布式檔案系統

概念好多,枯燥不易了解,

HDFS一些概念的了解
HDFS一些概念的了解

多看幾遍!!

HDFS一些概念的了解
HDFS一些概念的了解
HDFS一些概念的了解

1.HDFS資料存放政策:分塊存儲+副本存放。

2.資料拓撲結構(即資料備份):預設存放3份,可以通過修改配置檔案hdfs-site.xml修改備份數量,如果本機在叢集中,第一份就會存放到本節點即本機上,如果不在叢集中,就通過負載均衡存放到一個相應的随機節點上,第二份存放在同機櫃的不同節點上,第三份存放在不同機櫃的某個節點上。

3.資料查找:就近原則,現在本節點上查找,再從本機櫃上查找,最後再去不同機櫃上查找。

4.單點故障:Hadoop1中,一個叢集隻有NameNode,一旦NameNode當機,整個叢集就無法使用。

5.RPC:(Remote-Procedure-Call遠端過程調用)RPC是Hadoop建構的基礎,一種協定,通過網絡從遠端計算機程式上請求服務,采用client/sever客戶機/服務機模式,用戶端發動請求結果傳回給用戶端而不是服務端。

6.安裝模式:NameNode啟動時會進入該模式進行檢測,檢查資料塊的完整性,處于該模式下的叢集無法對HDFS進行操作,可以手動離開安全模式

hadoop dfsadmin -saftmode leave 推出安全模式(enter進入安全模式)

7.負載均衡:讓DataNode處于均很狀态,調整資料塊,DataNode的工作任務等,例如:現有一個任務要配置設定給從節點運作,但是有些slave記憶體比較小,有些記憶體比較大,又有些slave正在執行别的任務,有些事空閑的,為了讓各個slave既要飽和狀态又要性能最好,就需要調整;再例如:原本有8個子節點,現在擴充了2個子節點,原先的8個子節點都要資料存儲,也有相應的任務需要執行,而後加的2個子節點是空的,此時也需要負載均衡進行重新配置設定資料的存儲和任務的執行。手動啟動該機制運作:

 $HADOOP_HOME/sbin/start-balancer.sh

8.機架感覺:機架之間的互動用機架感覺來進行。機架之間的通信是通過一些交換機,路由器,光纖等進行通信的,需要通過機架感覺來互動。不同機架之間互相通路網絡耗費較大且延遲也較高,是以理想狀态下要查找資料剛剛好就在本機上,就不用耗費資源查找了,就需要通過機架感覺。大型hadoop叢集通過機架形式組織,而且同一機架上不同節點間的網絡狀況比不同機架之間的更為理想。

9.心跳機制:Hadoop是主從結構,即master/slave結構,master有NameNode,ResourceManager,SecondaryManager;slave有DataNode,NodeManager。master啟動時會啟動一個ipc服務(Inner-Process-Communication,通信間程序),等待slave連接配接。slave啟動時,會主動連接配接ipc服務,并且每隔3秒連接配接一次master,這就是“心跳”。slave通過心跳機制彙報自己的狀态,job完成情況等給master,同僚master也通過心跳機制向slave下達指令,配置設定任務。同樣的,ResourceManager和NodeManager之間也通過心跳機制進行互動。如果master長時間沒有收到slave的心跳,那麼master就認為該slave當機了,如果slave當機了,master就會把slave的資料通過負載均衡機制配置設定給其他slave上,正在執行的任務也會被廢棄,重新配置設定,重新執行。

10.HA機制:High Availablity高可用性,H2中用于結局NameNode的單點故障問題。通過配置Active/Standby兩個NameNode解決熱備份問題。active NN對外提供服務,standby NN隻做備份,active NN将資料寫入共享存儲系統(NFS-NetWorkSystem,QJM,BooKeeper等)中而standby NN監聽,一旦有新資料寫入standby NN會讀取這些資料寫入自己的記憶體,保證和active NN保持同步,當active NN發生故障,standby NN可以立即頂替。每個節點上都有一個zookeeper。DN不斷向active NN 和standby NN發送心跳,zookeeper會檢測2個NN,active NN和standby NN通過共享存儲系統保持一緻,當zookeeper監測到active NN出現故障時,會立即通過故障轉移控制器切換standby NN為激活狀态。

注意:SecondaryNameNode不是HA,隻是階段性合并edits和fsimage,用以縮短NN啟動的時間,NN失效時SecondaryNN不能立即提供服務,而且也不能保證資料和NN的一緻性。

11.Federation機制:也是用來解決NN的單點故障的,但是并非是最佳方案。Federation機制是指叢集中存在多個NN,各自NN分别管理一部分數命名空間,但共享DN的存儲資源,各自NN負責不同中繼資料的存儲,隔離性較好,當NN啟動時會把所有中繼資料資訊加載到記憶體中,對裝有NN的機子記憶體壓力比較大,Federation機制是提供了多個NN來存儲中繼資料,但并不能根本解決單點故障的問題,因為多個NN的其中一個當機,中繼資料資訊還是會丢失,這就意味着需要為每個NN部署一個備份NN應對當機的問題。

繼續閱讀