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, writeCommand
public void setConf(Configuration conf)
Configurable
setConf
在接口中 Configurable
setConf
在类中 TaskController
public void createLogDir(TaskAttemptID taskID, boolean isCleanup) throws IOException
TaskController
createLogDir
在类中 TaskController
taskID
- ID of the taskisCleanup
- If the task is cleanup task or notIOException
public int launchTask(String user, String jobId, String attemptId, List<String> setup, List<String> jvmArguments, File currentWorkDirectory, String stdout, String stderr) throws IOException
launchTask
在类中 TaskController
user
- 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 toIOException
public void initializeJob(String user, String jobid, Path credentials, Path jobConf, TaskUmbilicalProtocol taskTracker, InetSocketAddress ttAddr) throws IOException, InterruptedException
TaskTracker.JOB_LOCAL_DIR
in the configurationinitializeJob
在类中 TaskController
user
- 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 addressIOException
InterruptedException
public void signalTask(String user, int taskPid, ProcessTree.Signal signal)
TaskController
signalTask
在类中 TaskController
user
- the user nametaskPid
- the pid of the tasksignal
- the id of the signal to sendpublic void deleteAsUser(String user, String subDir) throws IOException
deleteAsUser
在类中 TaskController
user
- the user namesubDir
- the path relative to the user's subdirectory under
the task tracker root directories.IOException
public void deleteLogAsUser(String user, String subDir) throws IOException
deleteLogAsUser
在类中 TaskController
user
- the user to work assubDir
- the path under the userlogs directory.IOException
public void truncateLogsAsUser(String user, List<Task> allAttempts) throws IOException
TaskController
truncateLogsAsUser
在类中 TaskController
allAttempts
- the list of attempts that the JVM ranIOException
public void setup(LocalDirAllocator allocator, org.apache.hadoop.mapred.TaskTracker.LocalStorage localStorage)
TaskController
setup
在类中 TaskController
allocator
- the local dir allocator to uselocalStorage
- local storage to obtain dirs fromCopyright © 2009 The Apache Software Foundation