2010-04-11 4 views
3

Je souhaite développer un site Web qui permettra aux analystes de l'entreprise d'exécuter des tâches Hadoop (à partir d'un ensemble de tâches définies) et de voir le statut de leur travail \ progression.Suivi du statut du travail Hadoop via l'interface Web? (Exposer Hadoop aux clients internes de l'entreprise)

Existe-t-il un moyen facile de faire cela (obtenir des statuts de travaux en cours d'exécution, etc.) via Ruby \ Python? Comment exposer votre cluster Hadoop à des clients internes de votre entreprise?

Répondre

5

J'ai trouvé un moyen d'obtenir des informations sur JobTracker. Ceci est le code:

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

Peut-être un bon point de départ serait de jeter un oeil à Cloudera Destktop. Il fournit une interface Web pour permettre l'administration de cluster et les tâches de développement de travail. C'est gratuit à télécharger.

0

Il n'y a rien de pareil avec le hadoop. Il devrait être trivial de construire cette fonctionnalité. Une partie de ceci est disponible par l'intermédiaire de la page de JobTracker et certains que vous devrez construire vous-même.

2

Depuis la version 'beta 2' de Hadoop Distribution de Cloudera, vous pouvez presque sans effort utiliser Hadoop User Experience (HUE), qui s'appelait auparavant Cloudera Desktop.

Mais depuis cette version, il a énormément augmenté. Il vient avec le concepteur du travail, l'interface de ruche et beaucoup plus. Vous devriez certainement vérifier cela avant de décider de construire votre propre application.