爱在莫斯科 发表于 2018-10-31 10:05:12

hadoop之MapReduce框架JobTracker端心跳机制分析(源码分析第七篇)

...  
// Check for tasks to be killed
  
    List killTasksList = getTasksToKill(trackerName);
  
    if (killTasksList != null) {
  
      actions.addAll(killTasksList);
  
    }
  

  
    // Check for jobs to be killed/cleanedup
  
    List killJobsList = getJobsForCleanup(trackerName);
  
    if (killJobsList != null) {
  
      actions.addAll(killJobsList);
  
    }
  
    // Check for tasks whose outputs can be saved
  
    List commitTasksList = getTasksToSave(status);
  
    if (commitTasksList != null) {
  
      actions.addAll(commitTasksList);
  
    }
  
    // calculate next heartbeat interval and put in heartbeat response
  
    int nextInterval = getNextHeartbeatInterval();//生成下一次心跳汇报时间
  
    response.setHeartbeatInterval(nextInterval);
  
    response.setActions(
  
                        actions.toArray(new TaskTrackerAction));
  

  
    // check if the restart info is req
  
    if (addRestartInfo) {
  
      response.setRecoveredJobs(recoveryManager.getJobsToRecover());
  
    }
  

  
    // Update the trackerToHeartbeatResponseMap
  
    trackerToHeartbeatResponseMap.put(trackerName, response);
  
    // Done processing the hearbeat, now remove 'marked' tasks
  
    removeMarkedTasks(trackerName);
  
...


页: [1]
查看完整版本: hadoop之MapReduce框架JobTracker端心跳机制分析(源码分析第七篇)