public class DefaultTaskController extends TaskController
TaskController.DeletionContextallocator, COMMAND_FILE, localStorage, TASK_LAUNCH_SCRIPT_PERMISSION| Constructor and Description |
|---|
DefaultTaskController() |
| Modifier and Type | Method and Description |
|---|---|
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,
org.apache.hadoop.fs.Path credentials,
org.apache.hadoop.fs.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(org.apache.hadoop.conf.Configuration conf) |
void |
setup(org.apache.hadoop.fs.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(org.apache.hadoop.conf.Configuration conf)
setConf in interface org.apache.hadoop.conf.ConfigurablesetConf in class TaskControllerpublic void createLogDir(TaskAttemptID taskID, boolean isCleanup) throws IOException
TaskControllercreateLogDir in class 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 in class 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, org.apache.hadoop.fs.Path credentials, org.apache.hadoop.fs.Path jobConf, TaskUmbilicalProtocol taskTracker, InetSocketAddress ttAddr) throws IOException, InterruptedException
TaskTracker.JOB_LOCAL_DIR in the configurationinitializeJob in class 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 in class 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 in class 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 in class TaskControlleruser - the user to work assubDir - the path under the userlogs directory.IOExceptionpublic void truncateLogsAsUser(String user, List<Task> allAttempts) throws IOException
TaskControllertruncateLogsAsUser in class TaskControllerallAttempts - the list of attempts that the JVM ranIOExceptionpublic void setup(org.apache.hadoop.fs.LocalDirAllocator allocator,
org.apache.hadoop.mapred.TaskTracker.LocalStorage localStorage)
TaskControllersetup in class TaskControllerallocator - the local dir allocator to uselocalStorage - TaskTracker's LocalStorage objectCopyright © 2009 The Apache Software Foundation