王家林的“雲端運算分布式大資料Hadoop實戰高手之路—從零開始”的第九講Hadoop圖文訓練課程:剖析NameNode和Secondary NameNode的工作機制和流程

來源:互聯網
上載者:User

本講主要剖析SecondaryNameNode。

 

“雲端運算分布式大資料Hadoop實戰高手之路”之完整發布目錄

雲端運算分布式大資料實戰技術Hadoop交流群:312494188,每天都會在群中發布雲端運算實戰性資料,歡迎大家加入!

 

Hadoop在啟動的時候,會啟動SecondaryNameNode,我們使用JPS命令查看一下查看一下Hadoop啟動時啟動了那些進程:

 

在我們講解SecondaryNameNode的具體作用之前,我們先看一看NameNode的工作特點和具體作用:

1,在Hadoop的叢集中,有NameNode和DataNode之分,在運行時DataNode可以有很多個,但NameNode只有一個;

2,NameNode儲存的是Hadoop叢集的metadata,即檔案系統的中繼資料,包含整個檔案系統的目錄結構,每一個目錄有哪些檔案,每個檔案有哪些分塊,每個分塊儲存在哪一個DataNode上面;

3,NameNode在記憶體中儲存metadata,這樣可以快速的處理用戶端對資料的“讀請求”;

4,但是記憶體中的資料是容易丟失的,例如掉電時,所以我們必須在磁碟上有metadata的副本;

5,當有“寫請求”到來時,即要改變Hadoop的檔案系統時,NameNode會首先寫editlog並主動同步到磁碟,成功後才會修改記憶體中的metadata,並且返回給用戶端,用戶端在收到成功返回的資訊後才會寫資料到具體的DataNode上去;

6,Hadoop會在磁碟上維護一個fsimage的檔案,該檔案是NameNode中metedata的鏡像;

7,fsimage不會隨時與NameNode中的metedata保持一致,而是每隔一段時間通過合并editlog中的內容來更新;

8,合并的過程是比較消耗記憶體和CPU的操作,所以Hadoop就是用SecondaryNameNode專門用於更新fsimage檔案;

 

下面我們看看SecondaryNameNode的工作流程:

1,SecondaryNameNode通知PrimaryNameNode切換editlog;

2,SecondaryNameNode通過HTTP協議從PrimaryNameNode獲得fsimage和editlog;

3,SecondaryNameNode將fsimage載入記憶體,然後開始合并editlog的操作;

4,SecondaryNameNode將合并後的新的fsimage發給PrimaryNameNode;

5,PrimaryNameNode收到SecondaryNameNode發過來的新的fsimage後會用新的fsimage替換舊的fsimage;

SecondaryNameNode合適觸發上述的工作流程呢?或者說checkpoint是什麼呢?滿足以下的任何條件都會觸發SecondaryNameNode的工作流程:

1,fs.checkpoint.period 指定兩次checkpoint之間最大時間間隔,預設時間為3600秒,即一個小時;

2,fs.checkpoint.size規定editlog檔案的最大值,該檔案的預設大小是64M,一旦超過這個值則強制觸發SecondaryNameNode的工作流程;

 

從Hadoop 2.X開始推出了Active-Backup NameNode的模式,即同時具有兩個NameNode:Active NameNode和Backup NameNode,當Acitive NameNode不能夠正常提供服務是時候,Backup NameNode就可以接替Acitive NameNode繼續為用戶端提供服務,這樣就會更有力的保證Hadoop服務不會中斷。

大家可以看出在Hadoop 1.X的版本時,整個Hadoop的正常工作極端的依賴於單一的Primary NameNode,當Primary NameNode出現問題的時候,整個Hadoop的檔案系統就無法給用戶端提供服務了,這對一些非常關鍵的應用是難以接受的,所以運行NameNode節點的機器的硬體需要非常好,例如磁碟的IO速度要非常快;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.