<%@ page contentType="text/html; charset=UTF-8" import="javax.servlet.*" import="javax.servlet.http.*" import="java.io.*" import="java.util.*" import="org.apache.hadoop.dfs.*" import="org.apache.hadoop.util.*" import="java.text.DateFormat" import="java.lang.Math" %> <%! FSNamesystem fsn = FSNamesystem.getFSNamesystem(); String namenodeLabel = fsn.getDFSNameNodeMachine() + ":" + fsn.getDFSNameNodePort(); long currentTime; JspHelper jspHelper = new JspHelper(); public void generateLiveNodeData(JspWriter out, DatanodeInfo d) throws IOException { long c = d.getCapacity(); long r = d.getRemaining(); long u = c - r; String percentUsed; if (c > 0) percentUsed = DFSShell.limitDecimal(((1.0 * u)/c)*100, 2); else percentUsed = "100"; out.print(" " + d.getName() + "" + ((currentTime - d.getLastUpdate())/1000) + "" + DFSShell.byteDesc(c) + "" + percentUsed + "\n"); } public void generateDFSHealthReport(JspWriter out, HttpServletRequest request) throws IOException { Vector live = new Vector(); Vector dead = new Vector(); jspHelper.DFSNodesStatus(live, dead); out.print( "
\n" + "
Capacity : " + DFSShell.byteDesc( fsn.totalCapacity() ) + "
Remaining : " + DFSShell.byteDesc( fsn.totalRemaining() ) + "
Used : " + DFSShell.limitDecimal((fsn.totalCapacity() - fsn.totalRemaining())*100.0/ (fsn.totalCapacity() + 1e-10), 2) + "%
Live Nodes : " + live.size() + "
Dead Nodes : " + dead.size() + "


\n" ); if (live.isEmpty() && dead.isEmpty()) { out.print("There are no datanodes in the cluster"); } else { currentTime = System.currentTimeMillis(); out.print( "
"+ "" + "Live Datanodes: " + live.size() + "" + "

\n\n" ); if ( live.size() > 0 ) { out.print( "" + "
Node Last Contact Size " + " Used (%)\n" ); for ( int i=0; i < live.size(); i++ ) { DatanodeInfo d = ( DatanodeInfo ) live.elementAt(i); generateLiveNodeData( out, d ); } } out.print("
\n"); out.print("
" + " Dead Datanodes : " +dead.size() + "

\n"); if ( dead.size() > 0 ) { out.print( " " + "
Node \n" ); for ( int i=0; i < dead.size() ; i++ ) { DatanodeInfo d = ( DatanodeInfo ) dead.elementAt(i); out.print( "
" + d.getName() + "\n" ); } out.print("
\n"); } out.print("
"); } } %> Hadoop NameNode <%=namenodeLabel%>

NameNode '<%=namenodeLabel%>'

Started: <%= fsn.getStartTime()%>
Version: <%= VersionInfo.getVersion()%>, r<%= VersionInfo.getRevision()%>
Compiled: <%= VersionInfo.getDate()%> by <%= VersionInfo.getUser()%>

Browse the filesystem

Cluster Summary

<%= jspHelper.getSafeModeText()%> <% generateDFSHealthReport(out, request); %>

Local logs

Log directory
Hadoop, 2006.