除了上篇博客介绍的管理hadoop后台进程的参数外,还有其它一些参数或者功能用于管理hadoop的运行方式,比如任务的启动与控制、TaskTracker节点的监控等。
先看看hadoop的任务控制器。任务控制器是MapReduce框架中定义用户的map和reduce任务如何启动和控制的一些类。任务控制器可以在要求定制用户任务的启动过程或者控制过程的集群中使用,比如,在某些集群中,可能要求以提交作业的用户运行任务,而不是作为任务跟踪器用户,后者是任务如何启动的默认方式。在hadoop中有两个任务控制器可以使用,它们是DefaultTaskController和LinuxTaskController,对应的类分别为org.apache.hadoop.mapred.DefaultTaskController和是org.apache.hadoop.mapred.LinuxTaskController。DefaultTaskController是Hadoop中的默认任务控制器,任务作为任务追踪器用户运行。LinuxTaskController作为提交作业的用户运行任务,只被Linux支持,要求用户账号在任务启动的集群节点上被创建。LinuxTaskController使用包含在Hadoop版本中的setuid可执行文件,TaskTracker使用该可执行文件启动和杀死任务。该setuid可执行文件切换到提交作业的用户启动或者杀死任务。为了最大的安全性,该任务控制器建立了受限制的访问权限和被任务使用的本地文件和目录的用户/组所有权,这些文件诸如作业的jar文件,中间文件,任务日志文件和分布式缓存文件。需要注意的是,除了作业的拥有者和TaskTracker,其