2010-04-11 85 views

回答

5

我找到了一種獲取JobTracker上的工作信息的方法。這是代碼:

Configuration conf = new Configuration(); 
    conf.set("mapred.job.tracker", "URL"); 

    JobClient client = new JobClient(new JobConf(conf)); 

    JobStatus[] jobStatuses = client.getAllJobs(); 
    for (JobStatus jobStatus : jobStatuses) { 

     long lastTaskEndTime = 0L; 

     TaskReport[] mapReports = client.getMapTaskReports(jobStatus.getJobID()); 
     for (TaskReport r : mapReports) { 
      if (lastTaskEndTime < r.getFinishTime()) { 
       lastTaskEndTime = r.getFinishTime(); 
      } 
     } 

     TaskReport[] reduceReports = client.getReduceTaskReports(jobStatus.getJobID()); 
     for (TaskReport r : reduceReports) { 
      if (lastTaskEndTime < r.getFinishTime()) { 
       lastTaskEndTime = r.getFinishTime(); 
      } 
     } 
     client.getSetupTaskReports(jobStatus.getJobID()); 
     client.getCleanupTaskReports(jobStatus.getJobID()); 

     System.out.println("JobID: " + jobStatus.getJobID().toString() + 
          ", username: " + jobStatus.getUsername() + 
          ", startTime: " + jobStatus.getStartTime() + 
          ", endTime: " + lastTaskEndTime + 
          ", Durration: " + (lastTaskEndTime - jobStatus.getStartTime())); 

    } 
1

也許一個好的開始就是看看Cloudera Destktop。它提供了一個Web界面來啓用羣集管理和作業開發任務。它的免費下載。

0

這裏沒有像hadoop一樣的東西。構建這個功能應該是微不足道的。其中一些可通過JobTracker的頁面獲得,有些則必須自行構建。

2

自從Cloudera的Hadoop發行版本'beta 2'以來,您幾乎可以毫不費力地使用Hadoop User Experience (HUE),它之前稱爲Cloudera Desktop。

但是自從這個版本發展起來以後,它配備了工作設計師,配置單元界面等等。您應該確定在決定構建自己的應用程序之前檢查一下。