gpt4 book ai didi

hadoop - 通过 Web 界面跟踪 Hadoop 作业状态? (将Hadoop暴露给公司内部客户)

转载 作者:可可西里 更新时间:2023-11-01 14:25:30 26 4
gpt4 key购买 nike

我想开发一个网站,允许公司内的分析师运行 Hadoop 作业(从一组定义的作业中选择)并查看其作业的状态\进度。

有没有一种简单的方法可以通过 Ruby\Python 执行此操作(获取正在运行的作业状态等)?您如何向公司内部客户公开 Hadoop 集群?

最佳答案

我找到了一种在 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()));

}

关于hadoop - 通过 Web 界面跟踪 Hadoop 作业状态? (将Hadoop暴露给公司内部客户),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2616524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com