功能目标: 读取任务运行时间等信息,为任务调配作数据基础[[BR]] 任务设置优先级,根据优先级调配任务[[BR]] 时间触发任务[[BR]] WEB界面上实现取消任务功能[[BR]] 一些可能用到的参数 mapreduce.job.complete.cancel.delegation.tokens[[BR]] job.end.notification.url[[BR]] *做法一,通过jobClient读取hadoop的集群信息,看代码后发现这种信息只能读取小部分的信息 {{{ Configuration conf = new Configuration(); String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs(); JobClient jobClient = new JobClient(new JobConf(conf)); JobQueueInfo[] queues = jobClient.getQueues(); }}} *做法二 往hadoop 的http server中增加一些jsp,输出任务和集群的信息,增加的jsp见附件[[BR]] 输出格式为[http://192.168.238.63:50030/jobtracker_json.jsp][[BR]] 通过spring的定时任务,定时保存任务的信息,保存在数据库中,每个小时进行分析,找出又问题的任务[[BR]] 第一版上线的地址: [http://192.168.238.63:8080] 下面的版本会对正在执行的任务进行监控和调度 有几个东西有待确认: * 提交后的任务(pending状态)参数是否还可以修改,比如优先级,reduce的数量 是否可以通过API拿Hadoop的信息,可以通过下面的代码