mapreduce的task元件的功能

來源:魅力女性吧 3.07W
mapreduce的task元件的功能

TaskTracker是運行於多個節點上的slave服務,主要完成向JobTracker彙報心跳和執行JobTracker的命令。彙報心跳的資訊包括結點狀態、資源使用情況、任務的執行進度、任務的執行狀態以及Counter值。JobTracker收到TaskTracker彙報的心跳資訊後,根據這些資訊以及作業的執行狀況給TaskTracker下達命令,包括LaunchTaskAction、CommitTaskAction、KillTaskAction、KillJobAction和TaskTrackerReinitAction。

TaskTracker主動與JobTracker通訊,接收作業並負責直接執行每一個任務。TaskTracker作為一個單獨的JVM來執行,TaskTracker週期性的向JobTracker傳送heartbeat。在heartbeat中,TaskTracker告知JobTracker其已經準備執行一個新的task,JobTracker 將分配給其一個task。

TaskTracker被分配了一個task,下面便要執行此task。首先,TaskTracker將此job的jar從共享檔案系統中拷貝到TaskTracker的檔案系統HDFS中。TaskTracker從DistributedCache 中將job執行所需要的檔案拷貝到本地磁碟。其次,其為每個task建立一個本地的工作目錄,將jar解壓縮到檔案目錄中。其三,TaskRunner建立一個新的JVM來執行task 。

熱門標籤