<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<link rel="stylesheet" type="text/css" href="/static/bootstrap-3.0.2/css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="/static/dataTables.bootstrap.css" />
<link rel="stylesheet" type="text/css" href="/static/rbf.css" />
<title>Router Information</title>
</head>
<body>

<header class="navbar navbar-inverse bs-docs-nav" role="banner">
<div class="container">
  <div class="navbar-header">
    <div class="navbar-brand">Hadoop</div>
  </div>

  <ul class="nav navbar-nav" id="ui-tabs">
    <li><a href="#tab-overview">Overview</a></li>
    <li><a href="#tab-namenode">Subclusters</a></li>
    <li><a href="#tab-router">Routers</a></li>
    <li><a href="#tab-datanode">Datanodes</a></li>
    <li><a href="#tab-mounttable">Mount table</a></li>
    <li class="dropdown">
      <a href="#" class="dropdown-toggle" data-toggle="dropdown">Utilities <b class="caret"></b></a>
      <ul class="dropdown-menu">
        <li><a href="jmx">Metrics</a></li>
        <li><a href="conf">Configuration</a></li>
        <li><a href="logs">Logs</a></li>
        <li><a href="fsck">FSCK</a></li>
      </ul>
    </li>
  </ul>
</div>
</header>

<div class="container">

<div id="alert-panel">
  <div class="alert alert-danger">
    <button type="button" class="close" onclick="$('#alert-panel').hide();">&times;</button>
    <div class="alert-body" id="alert-panel-body"></div>
  </div>
</div>

<div class="tab-content">
  <div class="tab-pane" id="tab-overview"></div>
  <div class="tab-pane" id="tab-namenode"></div>
  <div class="tab-pane" id="tab-router"></div>
  <div class="tab-pane" id="tab-datanode"></div>
  <div class="tab-pane" id="tab-mounttable"></div>
</div>

<div class="row">
  <hr />
  <div class="col-xs-2"><p>Hadoop, {release-year-token}.</p></div>
</div>
</div>

<!-- Overview -->
<script type="text/x-dust-template" id="tmpl-federationhealth">
<div class="page-header"><h1>Router {#federation}<small>'{HostAndPort}'</small>{/federation}</h1></div>
{#federation}
<table class="table table-bordered table-striped">
  <tr><th>Started:</th><td>{RouterStarted}</td></tr>
  <tr><th>Version:</th><td>{Version}</td></tr>
  <tr><th>Compiled:</th><td>{CompileInfo}</td></tr>
  <tr><th>Cluster ID:</th><td>{ClusterId}</td></tr>
  <tr><th>Block Pool ID:</th><td>{BlockPoolId}</td></tr>
  <tr><th>Status:</th><td>{RouterStatus}</td></tr>
</table>
{/federation}

<div class="page-header"><h1>Summary</h1></div>
{#federation}
<table class="table table-bordered table-striped">
  <tr><th>Total capacity</th><td>{TotalCapacity|fmt_bytes}</td></tr>
  <tr><th>Used capacity</th><td>{UsedCapacity|fmt_bytes}</td></tr>
  <tr><th>Remaining capacity</th><td>{RemainingCapacity|fmt_bytes}</td></tr>
  <tr><th>Nameservices</th><td>{NumNameservices}</td></tr>
  <tr><th>Namenodes</th><td>{NumNamenodes}</td></tr>
  <tr>
    <th>DataNodes usages% (Min/Median/Max/stdDev)</th>
    <td>{#NodeUsage.nodeUsage}{min} / {median} / {max} / {stdDev}{/NodeUsage.nodeUsage}</td>
  </tr>
  <tr><th><a href="#tab-datanode">Live Nodes</a></th><td>{NumLiveNodes} (Decommissioned: {NumDecomLiveNodes})</td></tr>
  <tr><th><a href="#tab-datanode">Dead Nodes</a></th><td>{NumDeadNodes} (Decommissioned: {NumDecomDeadNodes})</td></tr>
  <tr><th><a href="#tab-datanode">Decommissioning Nodes</a></th><td>{NumDecommissioningNodes}</td></tr>
  <tr><th>Files</th><td>{NumFiles}</td></tr>
  <tr><th>Blocks</th><td>{NumBlocks}</td></tr>
  <tr><th title="Excludes missing blocks.">Number of Under-Replicated Blocks</th><td>{NumOfBlocksUnderReplicated}</td></tr>
  <tr><th>Number of Blocks Pending Deletion</th><td>{NumOfBlocksPendingDeletion}</td></tr>
</table>
{/federation}
</script>

<!-- Subclusters info: list of nameservices and namenodes -->
<script type="text/x-dust-template" id="tmpl-namenode">
<div class="page-header"><h1>Nameservice Information</h1></div>
<div>
  <ul class="federationhealth-namenode-legend">
    <li class="federationhealth-namenode-icon federationhealth-namenode-active">Active</li>
    <li class="federationhealth-namenode-icon federationhealth-namenode-standby">Standby</li>
    <li class="federationhealth-namenode-icon federationhealth-namenode-safemode">Safe mode</li>
    <li class="federationhealth-namenode-icon federationhealth-namenode-unavailable">Unavailable</li>
  </ul>
</div>
<small>
<table class="table">
  <thead>
    <tr>
      <th colspan="6"></th>
      <th colspan="3">Blocks</th>
      <th colspan="2">Nodes</th>
      <th colspan="3">Decom</th>
    </tr>
    <tr>
      <th></th>
      <th>Nameservice</th>
      <th>Namenode</th>
      <th>Last Contact</th>
      <th>Capacity</th>
      <th>Files</th>
      <th>Total</th>
      <th>Missing</th>
      <th>Under-Replicated</th>
      <th>Live</th>
      <th>Dead</th>
      <th>Progress</th>
      <th>Live</th>
      <th>Dead</th>
    </tr>
  </thead>
  <tbody>
    {#Nameservices}
    <tr>
      <td class="federationhealth-namenode-icon federationhealth-namenode-{iconState}" title="{title}"></td>
      <td><a href="http://{webAddress}">{nameserviceId}</a></td>
      <td><a href="http://{webAddress}">{namenodeId}</a></td>
      <td>{lastHeartbeat}</td>
      <td ng-value="{usedPercentage}" style="width:210px">
        <div>
          <div style="display:inline-block; float: left; padding-right: 10px; width:60px;">{totalSpace|fmt_bytes}</div>
          <div class="clearfix progress federationhealth-namenode-capacity-bar" title="Used: {used|fmt_bytes}">
            <div class="progress-bar {#helper_usage_bar value="{usedPercentage}"/}" style="width: {usedPercentage}%">
            </div>
          </div>
        </div>
      </td>
      <td>{numOfFiles}</td>
      <td>{numOfBlocks}</td>
      <td>{numOfBlocksMissing}</td>
      <td>{numOfBlocksUnderReplicated}</td>
      <td>{numOfActiveDatanodes}</td>
      <td>{numOfDeadDatanodes}</td>
      <td>{numOfDecommissioningDatanodes}</td>
      <td>{numOfDecomActiveDatanodes}</td>
      <td>{numOfDecomDeadDatanodes}</td>
    </tr>
    {/Nameservices}
  </tbody>
</table>
</small>

<div class="page-header"><h1>Namenode Information</h1></div>
<div>
  <ul class="federationhealth-namenode-legend">
    <li class="federationhealth-namenode-icon federationhealth-namenode-active">Active</li>
    <li class="federationhealth-namenode-icon federationhealth-namenode-standby">Standby</li>
    <li class="federationhealth-namenode-icon federationhealth-namenode-safemode">Safe mode</li>
    <li class="federationhealth-namenode-icon federationhealth-namenode-unavailable">Unavailable</li>
  </ul>
</div>
<small>
<table class="table">
  <thead>
    <tr>
      <th colspan="7"></th>
      <th colspan="3">Blocks</th>
      <th colspan="2">Nodes</th>
      <th colspan="3">Decom</th>
    </tr>
    <tr>
      <th></th>
      <th colspan="2">Namenode</th>
      <th>Web address</th>
      <th>Last Contact</th>
      <th>Capacity</th>
      <th>Files</th>
      <th>Total</th>
      <th>Missing</th>
      <th>Under-Replicated</th>
      <th>Live</th>
      <th>Dead</th>
      <th>Progress</th>
      <th>Live</th>
      <th>Dead</th>
    </tr>
  </thead>
  <tbody>
    {#Namenodes}
    <tr>
      <td class="federationhealth-namenode-icon federationhealth-namenode-{iconState}" title="{title}"></td>
      <td>{nameserviceId}</td>
      <td>{namenodeId}</td>
      <td><a href="http://{webAddress}">{webAddress}</a></td>
      <td>{lastHeartbeat}</td>
      <td ng-value="{usedPercentage}" style="width:210px">
        <div>
          <div style="display:inline-block; float: left; padding-right: 10px; width:60px;">{totalSpace|fmt_bytes}</div>
          <div class="clearfix progress federationhealth-namenode-capacity-bar" title="Used: {used|fmt_bytes}">
            <div class="progress-bar {#helper_usage_bar value="{usedPercentage}"/}" style="width: {usedPercentage}%">
            </div>
          </div>
        </div>
      </td>
      <td>{numOfFiles}</td>
      <td>{numOfBlocks}</td>
      <td>{numOfBlocksMissing}</td>
      <td>{numOfBlocksUnderReplicated}</td>
      <td>{numOfActiveDatanodes}</td>
      <td>{numOfDeadDatanodes}</td>
      <td>{numOfDecommissioningDatanodes}</td>
      <td>{numOfDecomActiveDatanodes}</td>
      <td>{numOfDecomDeadDatanodes}</td>
    </tr>
    {/Namenodes}
  </tbody>
</table>
</small>
</script>

<!-- Routers -->
<script type="text/x-dust-template" id="tmpl-router">
<div class="page-header"><h1>Routers Information</h1></div>
<div>
  <ul class="federationhealth-router-legend">
    <li class="federationhealth-router-icon federationhealth-router-active">Active</li>
    <li class="federationhealth-router-icon federationhealth-router-safemode">Safe mode</li>
    <li class="federationhealth-router-icon federationhealth-router-unavailable">Unavailable</li>
  </ul>
</div>
<table class="table">
  <thead>
    <tr>
      <th colspan="4"></th>
      <th colspan="2">Last update</th>
      <th></th>
    </tr>
    <tr>
      <th></th>
      <th>Address</th>
      <th>Status</th>
      <th>Heartbeat</th>
      <th>Membership</th>
      <th>Mount table</th>
      <th>Version</th>
    </tr>
  </thead>
  <tbody>
    {#Routers}
    <tr>
      <td class="federationhealth-router-icon federationhealth-router-{iconState}" title="{title}"></td>
      <td>{address}</td>
      <td>{status}</td>
      <td>{lastHeartbeat} sec ago</td>
      <td>{lastMembershipUpdate}</td>
      <td>{lastMountTableUpdate}</td>
      <td>{version}</td>
    </tr>
    {/Routers}
  </tbody>
</table>
</script>

<!-- Datanodes -->
<script type="text/x-dust-template" id="tmpl-datanode">
<div class="page-header"><h1>Datanode Information</h1></div>
<div>
  <ul class="dfshealth-node-legend">
    <li class="dfshealth-node-icon dfshealth-node-alive">In service</li>
    <li class="dfshealth-node-icon dfshealth-node-down">Down</li>
    <li class="dfshealth-node-icon dfshealth-node-decommissioned">Decommissioned</li>
    <li class="dfshealth-node-icon dfshealth-node-down-decommissioned">Decommissioned &amp; dead</li>
  </ul>
</div>
<div class="page-header"><h1><small>In operation</small></h1></div>
<small>
<table class="table" id="table-datanodes">
  <thead>
    <tr>
      <th>Node</th>
      <th>Last contact</th>
      <th style="width:180px; text-align:center">Capacity</th>
      <!--th>Blocks</th-->
      <th>Block pool used</th>
      <!--th>Version</th-->
    </tr>
  </thead>
  {#LiveNodes}
  <tr>
    <td ng-value="{state}-{name}" class="dfshealth-node-icon dfshealth-node-{state}">{location}/{name} ({xferaddr})</td>
    <td ng-value="{lastContact}">{#helper_relative_time value="{lastContact}"/}</td>
    <td ng-value="{usedPercentage}" style="width:210px">
      <div>
        <div style="display:inline-block; float: left; padding-right: 10px; width:60px;">{capacity|fmt_bytes}</div>
        <div class="clearfix progress dfshealth-node-capacity-bar" title="Non DFS: {nonDfsUsedSpace|fmt_bytes}, Used: {used|fmt_bytes}">
          <div class="progress-bar {#helper_usage_bar value="{usedPercentage}"/}" style="width: {usedPercentage}%">
          </div>
        </div>
      </div>
    </td>
    <!--td>{numBlocks}</td-->
    <td ng-value="{blockPoolUsedPercent}">{blockPoolUsed|fmt_bytes} ({blockPoolUsedPercent|fmt_percentage})</td>
    <!--td>{version}</td-->
  </tr>
  {/LiveNodes}
  {#DeadNodes}
  <tr class="danger">
    <td ng-value="{state}-{name}" class="dfshealth-node-icon dfshealth-node-{state}">{location}/{name} ({xferaddr})</td>
    <td>{#helper_relative_time value="{lastContact}"/}</td>
    <td></td>
    <!--td></td-->
    <td></td>
    <!--td></td-->
  </tr>
  {/DeadNodes}
</table>
</small>

<div class="page-header"><h1><small>Decommissioning</small></h1></div>
<small>
<table class="table">
  <thead>
    <tr>
      <th>Node</th>
      <th>Under replicated blocks</th>
      <th>Blocks with no live replicas</th>
      <th>Under Replicated Blocks <br/>In files under construction</th>
    </tr>
  </thead>
  {#DecomNodes}
  <tr>
    <td>{location}/{name} ({xferaddr})</td>
    <td>{underReplicatedBlocks}</td>
    <td>{decommissionOnlyReplicas}</td>
    <td>{underReplicateInOpenFiles}</td>
  </tr>
  {/DecomNodes}
</table>
</small>
</script>

<!-- Mount table -->
<script type="text/x-dust-template" id="tmpl-mounttable">
<div class="page-header"><h1>Mount Table</h1></div>
<small>
<table class="table">
  <thead>
    <tr>
      <th>Global path</th>
      <th>Target nameservice</th>
      <th>Target path</th>
      <th>Order</th>
      <th>Read only</th>
      <th>Owner</th>
      <th>Group</th>
      <th>Permission</th>
      <th>Quota/Usage</th>
      <th>Date Modified</th>
      <th>Date Created</th>
    </tr>
  </thead>
  <tbody>
    {#MountTable}
    <tr>
      <td>{sourcePath}</td>
      <td>{nameserviceId}</td>
      <td>{path}</td>
      <td>{order}</td>
      <td class="mount-table-icon mount-table-read-only-{readonly}"/>
      <td>{ownerName}</td>
      <td>{groupName}</td>
      <td>{mode}</td>
      <td>{quota}</td>
      <td>{dateModified}</td>
      <td>{dateCreated}</td>
    </tr>
    {/MountTable}
  </tbody>
</table>
</small>
</script>



<script type="text/javascript" src="/static/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="/static/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="/static/bootstrap-3.0.2/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/static/dataTables.bootstrap.js"></script>
<script type="text/javascript" src="/static/moment.min.js"></script>
<script type="text/javascript" src="/static/dust-full-2.0.0.min.js"></script>
<script type="text/javascript" src="/static/dust-helpers-1.1.1.min.js"></script>
<script type="text/javascript" src="/static/dfs-dust.js"></script>
<script type="text/javascript" src="federationhealth.js"></script>
</body>
</html>
