Hadoop系統的守護進程

    Hadoop系統在正常啓動後有五個重要的JVM進程,分別是NameNode,SecondaryNameNode,DataNode,JobTracker,TaskTracker。這五個進程肩負着HDFS在存儲和計算上的各項任務。


NameNode進程
NameNode只有一個,它是整個HDFS的核心。分佈式文件系統的管理者。當然也是HDFS的一個單點瓶頸,如果它掛掉,HDFS就會崩潰,所以對它的保護尤爲重要。secondarynamenode進程可選的,負責創建整個系統的檢查點。
 
DataNode進程
文件存儲的基本單元。每個節點運行一個。應用程序才訪問文件系統時,先由NameNode提供數據的位置,然後程序去訪問對應的DataNode。

JobTracker進程
1、應用程序將job提交給JobTracker;
2、JobTracker通知NameNode,讓其確定數據的位置;
3、JobTracker確定TaskTacker節點,將work提交給確定好的TaskTracker;
4、TaskTracker一直被JobTracker監控着,如果不按時返回心跳信號或者主動返回失敗,則認爲是執行失敗,將會轉向其他TaskTracker;
5、當work順利執行完畢,JobTracker更新狀態;
6、應用程序可以輪詢JobTracker的狀態。

TaskTracker進程
task指的是Map/Reduce/Shuffle操作。
每個TaskTracker都有一個slot集來標記這個TaskTracker所能接受的task的個數。當JobTracker要分配一個task時,會在DataNode的就近節點中找一個空的slot,把task分配給對應的TaskTracker。當TaskTracker要處理一個task時,會產生一個新的進程來執行它。在執行期間不斷向JobTracker發回心跳信號,執行完畢返回結果。


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