public class DefaultTaskController extends TaskController
allocator, COMMAND_FILE, localStorage, TASK_LAUNCH_SCRIPT_PERMISSION| 构造器和说明 |
|---|
DefaultTaskController() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
createLogDir(TaskAttemptID taskID,
boolean isCleanup)
Creates task log dir
|
void |
deleteAsUser(String user,
String subDir)
Delete the user's files under all of the task tracker root directories.
|
void |
deleteLogAsUser(String user,
String subDir)
Delete the user's files under the userlogs directory.
|
void |
initializeJob(String user,
String jobid,
Path credentials,
Path jobConf,
TaskUmbilicalProtocol taskTracker,
InetSocketAddress ttAddr)
This routine initializes the local file system for running a job.
|
int |
launchTask(String user,
String jobId,
String attemptId,
List<String> setup,
List<String> jvmArguments,
File currentWorkDirectory,
String stdout,
String stderr)
Create all of the directories for the task and launches the child jvm.
|
void |
setConf(Configuration conf)
Set the configuration to be used by this object.
|
void |
setup(LocalDirAllocator allocator,
org.apache.hadoop.mapred.TaskTracker.LocalStorage localStorage)
Does initialization and setup.
|
void |
signalTask(String user,
int taskPid,
ProcessTree.Signal signal)
Send a signal to a task pid as the user.
|
void |
truncateLogsAsUser(String user,
List<Task> allAttempts)
Run the passed command as the user
|
getConf, getLocalDirs, getRunAsUser, logOutput, writeCommandpublic void setConf(Configuration conf)
ConfigurablesetConf 在接口中 ConfigurablesetConf 在类中 TaskControllerpublic void createLogDir(TaskAttemptID taskID, boolean isCleanup) throws IOException
TaskControllercreateLogDir 在类中 TaskControllertaskID - ID of the taskisCleanup - If the task is cleanup task or notIOExceptionpublic int launchTask(String user, String jobId, String attemptId, List<String> setup, List<String> jvmArguments, File currentWorkDirectory, String stdout, String stderr) throws IOException
launchTask 在类中 TaskControlleruser - the user nameattemptId - the attempt idjobId - the jobId in questionsetup - list of shell commands to execute before the jvmjvmArguments - list of jvm argumentscurrentWorkDirectory - the full path of the cwd for the taskstdout - the file to redirect stdout tostderr - the file to redirect stderr toIOExceptionpublic void initializeJob(String user, String jobid, Path credentials, Path jobConf, TaskUmbilicalProtocol taskTracker, InetSocketAddress ttAddr) throws IOException, InterruptedException
TaskTracker.JOB_LOCAL_DIR in the configurationinitializeJob 在类中 TaskControlleruser - the user in question (the job owner)jobid - the ID of the job in questioncredentials - the path to the credentials file that the TaskTracker
downloadedjobConf - the path to the job configuration file that the TaskTracker
downloadedtaskTracker - the connection to the task trackerttAddr - the tasktracker's RPC addressIOExceptionInterruptedExceptionpublic void signalTask(String user, int taskPid, ProcessTree.Signal signal)
TaskControllersignalTask 在类中 TaskControlleruser - the user nametaskPid - the pid of the tasksignal - the id of the signal to sendpublic void deleteAsUser(String user, String subDir) throws IOException
deleteAsUser 在类中 TaskControlleruser - the user namesubDir - the path relative to the user's subdirectory under
the task tracker root directories.IOExceptionpublic void deleteLogAsUser(String user, String subDir) throws IOException
deleteLogAsUser 在类中 TaskControlleruser - the user to work assubDir - the path under the userlogs directory.IOExceptionpublic void truncateLogsAsUser(String user, List<Task> allAttempts) throws IOException
TaskControllertruncateLogsAsUser 在类中 TaskControllerallAttempts - the list of attempts that the JVM ranIOExceptionpublic void setup(LocalDirAllocator allocator, org.apache.hadoop.mapred.TaskTracker.LocalStorage localStorage)
TaskControllersetup 在类中 TaskControllerallocator - the local dir allocator to uselocalStorage - local storage to obtain dirs fromCopyright © 2009 The Apache Software Foundation