⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jobdetails.jsp

📁 hadoop:Nutch集群平台
💻 JSP
字号:
<%@ page  contentType="text/html; charset=UTF-8"  import="javax.servlet.*"  import="javax.servlet.http.*"  import="java.io.*"  import="java.util.*"  import="java.text.DecimalFormat"  import="org.apache.hadoop.mapred.*"  import="org.apache.hadoop.util.*"%><%!  JobTracker tracker = JobTracker.getTracker();  String trackerName =            StringUtils.simpleHostname(tracker.getJobTrackerMachine());    private void printTaskSummary(JspWriter out,                                String jobId,                                String kind,                                double completePercent,                                TaskInProgress[] tasks                               ) throws IOException {    int totalTasks = tasks.length;    int runningTasks = 0;    int finishedTasks = 0;    int killedTasks = 0;    int failures = 0;    for(int i=0; i < totalTasks; ++i) {      TaskInProgress task = tasks[i];      if (task.isComplete()) {        finishedTasks += 1;      } else if (task.isRunning()) {        runningTasks += 1;      } else if (task.wasKilled()) {        killedTasks += 1;      }      failures += task.numTaskFailures();    }    out.print("<tr><th><a href=\"/jobtasks.jsp?jobid=" + jobId +               "&type="+ kind + "&pagenum=1\">" + kind + "</a></th><td>" +               StringUtils.formatPercent(completePercent, 2) +              "</td><td>" + totalTasks + "</td><td>" +               (totalTasks - runningTasks - finishedTasks - killedTasks) +               "</td><td>" +              runningTasks + "</td><td>" +              finishedTasks + "</td><td>" +              killedTasks +              "</td><td><a href=\"/jobfailures.jsp?jobid=" + jobId +              "&kind=" + kind + "\">" +              failures + "</a></td></tr>\n");  }             private void printJobStatus(JspWriter out,                               String jobId) throws IOException {    JobInProgress job = (JobInProgress) tracker.getJob(jobId);    if (job == null) {      out.print("<b>Job " + jobId + " not found.</b><br>\n");      return;    }    JobProfile profile = job.getProfile();    JobStatus status = job.getStatus();    out.print("<b>User:</b> " + profile.getUser() + "<br>\n");    out.print("<b>Job Name:</b> " + profile.getJobName() + "<br>\n");    out.print("<b>Job File:</b> " + profile.getJobFile() + "<br>\n");    out.print("<b>Started at:</b> " + new Date(job.getStartTime()) + "<br>\n");    int runState = status.getRunState();    if (runState == JobStatus.RUNNING) {      out.print("<b>Status:</b> Running<br>\n");    } else {      if (runState == JobStatus.SUCCEEDED) {        out.print("<b>Status:</b> Succeeded<br>\n");      } else if (runState == JobStatus.FAILED) {        out.print("<b>Status:</b> Failed<br>\n");      }      out.print("<b>Finished at:</b> " + new Date(job.getFinishTime()) +                "<br>\n");    }    out.print("<hr>\n");    out.print("<table border=2 cellpadding=\"5\" cellspacing=\"2\">");    out.print("<tr><th>Kind</th><th>% Complete</th><th>Num Tasks</th>" +              "<th>Pending</th><th>Running</th><th>Complete</th>" +              "<th>Killed</th>" +              "<th><a href=\"/jobfailures.jsp?jobid=" + jobId +               "\">Failures</a></th></tr>\n");    printTaskSummary(out, jobId, "map", status.mapProgress(),                      job.getMapTasks());    printTaskSummary(out, jobId, "reduce", status.reduceProgress(),                     job.getReduceTasks());    out.print("</table>\n");  }%><%    String jobid = request.getParameter("jobid");%><html><head><meta http-equiv="refresh" content=60><title>Hadoop <%=jobid%> on <%=trackerName%></title></head><body><h1>Hadoop <%=jobid%> on <a href="/jobtracker.jsp"><%=trackerName%></a></h1><%     printJobStatus(out, jobid); %><hr><a href="/jobtracker.jsp">Go back to JobTracker</a><br><a href="http://lucene.apache.org/hadoop">Hadoop</a>, 2006.<br></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -