%@ 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.