hadoop由於是應用於集羣,所以進程比較多,且主從服務器上的進程並不完全一樣.
namenode 和 jobtracker屬於master, datanode 和 tasktracker屬於slave .
SecondaryNameNode 內存需求和NameNode 在一個數量級上,所以通常secondary NameNode(運行在單獨的物理機器上)和
NameNode運行在不同的機器上.
JobTracker 和 TaskTracker
JobTracker 對應於 NameNode
TaskTracker 對應於 DataNode
DataNode 和 NameNode 是針對數據存放來而言的.
JobTracker 和 TaskTracker 是針對MapReduce 執行而言的.
mapreduce中幾個主要概念,mapreduce整體上可以分爲這麼幾條執行線索:
jobclient, JobTracker 與 TaskTracker.
1.JobClient 會在用戶端通過JobClient 類將應用已經配置參數打包成jar文件存儲到hdfs,並把路徑提交到JobTracker,然後由JobTracker創建每一個Task
(即MapTask 和 ReduceTask),並將它們分發到各個TaskTracker服務中去執行.
2.JobTracker是一個master服務,軟件啓動之後JobTracker接收Job,負責調度Job的每一個子任務task,運行於TaskTracker上,
並監控他們,如果發現有失敗的task就重新運行它,一般情況下,應該把JobTracker部署在單獨的機器上.
3.TaskTracker 是運行在多個節點上的slaver服務.TaskTracker 主動與 JobTracker通信,接收作業,並負責直接執行每一個任務.
TaskTracker 都需要運行在HDFS 的 DataNode上.
注:由於沒找到出處,所以就不寫來源了.