123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484 |
- <!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=edge" />
- <link rel="stylesheet" type="text/css" href="/static/bootstrap-3.3.7/css/bootstrap.min.css" />
- <link rel="stylesheet" type="text/css" href="/static/dataTables.bootstrap.css" />
- <link rel="stylesheet" type="text/css" href="/static/hadoop.css" />
- <title>Namenode 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-datanode">Datanodes</a></li>
- <li><a href="#tab-datanode-volume-failures">Datanode Volume Failures</a></li>
- <li><a href="#tab-snapshot">Snapshot</a></li>
- <li><a href="#tab-startup-progress">Startup Progress</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="explorer.html">Browse the file system</a></li>
- <li><a href="logs">Logs</a></li>
- <li><a href="jmx">Metrics</a></li>
- <li><a href="conf">Configuration</a></li>
- <li><a href="stacks">Process Thread Dump</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();">×</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-datanode"></div>
- <div class="tab-pane" id="tab-datanode-volume-failures"></div>
- <div class="tab-pane" id="tab-snapshot"></div>
- <div class="tab-pane" id="tab-startup-progress"></div>
- </div>
- <div class="row">
- <hr />
- <div class="col-xs-2"><p>Hadoop, {release-year-token}.</p></div>
- </div>
- </div>
- <script type="text/x-dust-template" id="tmpl-dfshealth">
- {#nn}
- {@if cond="{DistinctVersionCount} > 1 || '{RollingUpgradeStatus}'.length || !'{UpgradeFinalized}'"}
- <div class="alert alert-dismissable alert-info">
- <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
- {#RollingUpgradeStatus}
- {@if cond="{finalizeTime} > 0"}
- <p>Rolling upgrade finalized at {#helper_date_tostring value="{finalizeTime}"/}. </p>
- {:else}
- <p>Rolling upgrade started at {#helper_date_tostring value="{startTime}"/}. </br>
- {#createdRollbackImages}
- Rollback image has been created. Proceed to upgrade daemons.
- {:else}
- Rollback image has not been created.
- {/createdRollbackImages}
- </p>
- {/if}
- {/RollingUpgradeStatus}
- {@if cond="{DistinctVersionCount} > 1"}
- There are {DistinctVersionCount} versions of datanodes currently live:
- {#DistinctVersions}
- {key} ({value}) {@sep},{/sep}
- {/DistinctVersions}
- {/if}
- {^UpgradeFinalized}
- <p>Upgrade in progress. Not yet finalized.</p>
- {/UpgradeFinalized}
- </div>
- {/if}
- {@eq key=nnstat.State value="active"}
- {@if cond="{NumberOfMissingBlocks} > 0"}
- <div class="alert alert-dismissable alert-warning">
- <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
- <p>There are {NumberOfMissingBlocks} missing blocks. The following files may be corrupted:</p>
- <br/>
- <div class="well">
- {#CorruptFiles}
- {.}<br/>
- {/CorruptFiles}
- </div>
- <p>Please check the logs or run fsck in order to identify the missing blocks.{@if cond="{NumberOfSnapshottableDirs} > 0"} Please run fsck with -includeSnapshots in order to see detailed reports about snapshots.{/if} See the Hadoop FAQ for common causes and potential solutions.</p>
- </div>
- {/if}
- {/eq}
- {/nn}
- <div class="page-header"><h1>Overview {#nnstat}<small>'{HostAndPort}' ({State})</small>{/nnstat}</h1></div>
- <table class="table table-bordered table-striped">
- {#HAInfo}
- <tr><th>Namespace:</th><td>{Namespace}</td></tr>
- <tr><th>Namenode ID:</th><td>{NamenodeID}</td></tr>
- {/HAInfo}
- {#nn}
- <tr><th>Started:</th><td>{NNStartedTimeInMillis|date_tostring}</td></tr>
- <tr><th>Version:</th><td>{Version}</td></tr>
- <tr><th>Compiled:</th><td>{CompileInfo|format_compile_info}</td></tr>
- <tr><th>Cluster ID:</th><td>{ClusterId}</td></tr>
- <tr><th>Block Pool ID:</th><td>{BlockPoolId}</td></tr>
- {/nn}
- </table>
- <div class="page-header"><h1>Summary</h1></div>
- <p>
- Security is {#nnstat}{#SecurityEnabled}on{:else}off{/SecurityEnabled}{/nnstat}.</p>
- <p>{#nn}{#Safemode}{.}{:else}Safemode is off.{/Safemode}{/nn}</p>
- <p>
- {#fs}
- {FilesTotal|fmt_number} files and directories, {BlocksTotal|fmt_number} blocks ({#replicastat}{TotalReplicatedBlocks|fmt_number}{/replicastat} replicated blocks, {#ecstat}{TotalECBlockGroups|fmt_number}{/ecstat} erasure coded block groups) = {ObjectsTotal|fmt_number} total filesystem object(s).
- {#helper_fs_max_objects/}
- {/fs}
- </p>
- {#mem.HeapMemoryUsage}
- <p>Heap Memory used {used|fmt_bytes} of {committed|fmt_bytes} Heap Memory. Max Heap Memory is {@eq key=max value="-1" type="number"}<unbounded>{:else}{max|fmt_bytes}{/eq}.</p>
- {/mem.HeapMemoryUsage}
- {#mem.NonHeapMemoryUsage}
- <p>Non Heap Memory used {used|fmt_bytes} of {committed|fmt_bytes} Commited Non Heap Memory. Max Non Heap Memory is {@eq key=max value="-1" type="number"}<unbounded>{:else}{max|fmt_bytes}{/eq}.</p>
- {/mem.NonHeapMemoryUsage}
- {#nn}
- <table class="table table-bordered table-striped">
- <tr><th> Configured Capacity:</th><td>{Total|fmt_bytes}</td></tr>
- <tr><th> Configured Remote Capacity:</th><td>{ProvidedCapacity|fmt_bytes}</td></tr>
- <tr><th> DFS Used:</th><td>{Used|fmt_bytes} ({PercentUsed|fmt_percentage})</td></tr>
- <tr><th> Non DFS Used:</th><td>{NonDfsUsedSpace|fmt_bytes}</td></tr>
- <tr><th> DFS Remaining:</th><td>{Free|fmt_bytes} ({PercentRemaining|fmt_percentage})</td></tr>
- <tr><th> Block Pool Used:</th><td>{BlockPoolUsedSpace|fmt_bytes} ({PercentBlockPoolUsed|fmt_percentage})</td></tr>
- <tr><th> DataNodes usages% (Min/Median/Max/stdDev): </th>
- <td>{#NodeUsage.nodeUsage}{min} / {median} / {max} / {stdDev}{/NodeUsage.nodeUsage}</td></tr>
- {/nn}
- {#fs}
- <tr><th><a href="#tab-datanode">Live Nodes</a></th><td>{NumLiveDataNodes} (Decommissioned: {NumDecomLiveDataNodes}, In Maintenance: {NumInMaintenanceLiveDataNodes})</td></tr>
- <tr><th><a href="#tab-datanode">Dead Nodes</a></th><td>{NumDeadDataNodes} (Decommissioned: {NumDecomDeadDataNodes}, In Maintenance: {NumInMaintenanceDeadDataNodes})</td></tr>
- <tr><th><a href="#tab-datanode">Decommissioning Nodes</a></th><td>{NumDecommissioningDataNodes}</td></tr>
- <tr><th><a href="#tab-datanode">Entering Maintenance Nodes</a></th><td> {NumEnteringMaintenanceDataNodes}</td></tr>
- <tr><th><a href="#tab-datanode-volume-failures">Total Datanode Volume Failures</a></th><td>{VolumeFailuresTotal} ({EstimatedCapacityLostTotal|fmt_bytes})</td></tr>
- {@eq key=nnstat.State value="active"}
- <tr><th title="Excludes missing blocks.">Number of Under-Replicated Blocks</th><td>{UnderReplicatedBlocks}</td></tr>
- <tr><th>Number of Blocks Pending Deletion</th><td>{PendingDeletionBlocks}</td></tr>
- {/eq}
- <tr><th>Block Deletion Start Time</th><td>{BlockDeletionStartTime|date_tostring}</td></tr>
- {/fs}
- {#fsn}
- <tr><th>Last Checkpoint Time</th><td>{@if cond="{LastCheckpointTime} === 0"}Never{:else}{LastCheckpointTime|date_tostring}{/if}</td></tr>
- {/fsn}
- {#ecstat}
- <tr><th>Enabled Erasure Coding Policies</th><td>{EnabledEcPolicies}</td></tr>
- {/ecstat}
- </table>
- <div class="page-header"><h1>NameNode Journal Status</h1></div>
- <p><b>Current transaction ID:</b> {nn.JournalTransactionInfo.LastAppliedOrWrittenTxId}</p>
- <table class="table" title="NameNode Journals">
- <thead>
- <tr><th>Journal Manager</th><th>State</th></tr>
- </thead>
- <tbody>
- {#nn.NameJournalStatus}
- <tr><td>{manager}</td><td>{stream}</td></tr>
- {/nn.NameJournalStatus}
- </tbody>
- </table>
- <div class="page-header"><h1>NameNode Storage</h1></div>
- <table class="table" title="NameNode Storage">
- <thead><tr><td><b>Storage Directory</b></td><td><b>Type</b></td><td><b>State</b></td></tr></thead>
- {#nn.NameDirStatuses}
- {#active}{#helper_dir_status type="Active"/}{/active}
- {#failed}{#helper_dir_status type="Failed"/}{/failed}
- {/nn.NameDirStatuses}
- </table>
- <div class="page-header"><h1>DFS Storage Types</h1></div>
- <small>
- <table class="table">
- <thead>
- <tr>
- <th>Storage Type</th>
- <th>Configured Capacity</th>
- <th>Capacity Used</th>
- <th>Capacity Remaining</th>
- <th>Block Pool Used</th>
- <th>Nodes In Service</th>
- </tr>
- </thead>
- {#blockstats.StorageTypeStats}
- <tr>
- <td>{key}</td>
- <td>{value.capacityTotal|fmt_bytes}</td>
- <td>{value.capacityUsed|fmt_bytes} ({value.capacityUsedPercentage|fmt_percentage})</td>
- <td>{value.capacityRemaining|fmt_bytes} ({value.capacityRemainingPercentage|fmt_percentage})</td>
- <td>{value.blockPoolUsed|fmt_bytes}</td>
- <td>{value.nodesInService}</td>
- </tr>
- {/blockstats.StorageTypeStats}
- </table>
- </small>
- </script>
- <script type="text/x-dust-template" id="tmpl-snapshot">
- <div class="page-header"><h1>Snapshot Summary</h1></div>
- <div class="page-header"><h1><small>Snapshottable directories: {@size key=SnapshottableDirectories}{/size}</small></div>
- <small>
- <table class="table">
- <thead>
- <tr>
- <th>Path</th>
- <th>Snapshot Number</th>
- <th>Snapshot Quota</th>
- <th>Modification Time</th>
- <th>Permission</th>
- <th>Owner</th>
- <th>Group</th>
- </tr>
- </thead>
- {#SnapshottableDirectories}
- <tr>
- <td>{path}</td>
- <td>{snapshotNumber}</td>
- <td>{snapshotQuota}</td>
- <td>{modificationTime|date_tostring}</td>
- <td>{permission|helper_to_permission}</td>
- <td>{owner}</td>
- <td>{group}</td>
- </tr>
- {/SnapshottableDirectories}
- </table>
- </small>
- <div class="page-header"><h1><small>Snapshotted directories: {@size key=Snapshots}{/size}</small></div>
- <small>
- <table class="table">
- <thead>
- <tr>
- <th>Snapshot ID</th>
- <th>Snapshot Directory</th>
- <th>Modification Time</th>
- </tr>
- </thead>
- {#Snapshots}
- <tr>
- <td>{snapshotID}</td>
- <td>{snapshotDirectory}</td>
- <td>{modificationTime|date_tostring}</td>
- </tr>
- {/Snapshots}
- </table>
- </small>
- </script>
- <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 & dead</li>
- <li class="dfshealth-node-icon dfshealth-node-down-maintenance">In Maintenance & dead</li>
- </ul>
- </div>
- <div class="page-header"><h1><small>Datanode usage histogram</small></h1></div>
- <small><div id="datanode-usage-histogram"></div></small>
- <div class="page-header"><h1><small>In operation</small></h1></div>
- <small>
- <table class="table" id="table-datanodes">
- <thead>
- <tr>
- <th>Node</th>
- <th>Http Address</th>
- <th>Last contact</th>
- <th>Last Block Report</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}">{name} ({xferaddr})</td>
- <td ng-value="{state}-{name}"><a href='{dnWebAddress}'>{dnWebAddress}</a></td>
- <td ng-value="{lastContact}">{lastContact}s</td>
- <td ng-value="{lastBlockReport}">{lastBlockReport}m</td>
- <td ng-value="{usedPercentage}">
- <div>
- <div style="display:inline-block; float: left; padding-right: 10px; width:80px">{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 title="Blocks Scheduled : {blockScheduled}">{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}">{name} ({xferaddr})</td>
- <td></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>Entering Maintenance</small></h1></div>
- <small>
- {?EnteringMaintenanceNodes}
- <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>
- {#EnteringMaintenanceNodes}
- <tr>
- <td>{name} ({xferaddr})</td>
- <td>{underReplicatedBlocks}</td>
- <td>{maintenanceOnlyReplicas}</td>
- <td>{underReplicateInOpenFiles}</td>
- </tr>
- {/EnteringMaintenanceNodes}
- </table>
- {:else}
- No nodes are entering maintenance.
- {/EnteringMaintenanceNodes}
- </small>
- <div class="page-header"><h1><small>Decommissioning</small></h1></div>
- <small>
- {?DecomNodes}
- <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>{name} ({xferaddr})</td>
- <td>{underReplicatedBlocks}</td>
- <td>{decommissionOnlyReplicas}</td>
- <td>{underReplicateInOpenFiles}</td>
- </tr>
- {/DecomNodes}
- </table>
- {:else}
- No nodes are decommissioning
- {/DecomNodes}
- </small>
- </script>
- <script type="text/x-dust-template" id="tmpl-datanode-volume-failures">
- <div class="page-header"><h1>Datanode Volume Failures</h1></div>
- <small>
- {?LiveNodes}
- <table class="table">
- <thead>
- <tr>
- <th>Node</th>
- <th>Last Failure Date</th>
- <th>Failed Volumes</th>
- <th>Estimated Capacity Lost</th>
- <th>Failed Storage Locations</th>
- </tr>
- </thead>
- {#LiveNodes}
- <tr>
- <td>{name} ({xferaddr})</td>
- <td>{#helper_date_tostring value="{lastVolumeFailureDate}"/}</td>
- <td>{volfails}</td>
- <td>{estimatedCapacityLostTotal|fmt_bytes}</td>
- <td>{#failedStorageIDs}{.}{@sep}<br />{/sep}{/failedStorageIDs}</td>
- </tr>
- {/LiveNodes}
- </table>
- {:else}
- There are no reported volume failures.
- {/LiveNodes}
- </small>
- </script>
- <script type="text/x-dust-template" id="tmpl-startup-progress">
- <div class="page-header"><h1>Startup Progress</h1></div>
- <p>Elapsed Time: {elapsedTime|fmt_time}, Percent Complete: {percentComplete|fmt_percentage}</p>
- <table class="table">
- <thead>
- <tr class="active">
- <th>Phase</th>
- <th style="text-align:center">Completion</th>
- <th style="text-align:center">Elapsed Time</th>
- </tr>
- </thead>
- <tbody>
- {#phases}
- <tr class="phase">
- <td class="startupdesc">{desc} {file} {size|fmt_bytes}</td>
- <td style="text-align:center">{percentComplete|fmt_percentage}</td>
- <td style="text-align:center">{elapsedTime|fmt_time}</td>
- </tr>
- {#steps root_file=file}
- <tr class="step">
- <td class="startupdesc">{stepDesc} {stepFile} {stepSize|fmt_bytes} ({count}/{total})</td>
- <td style="text-align:center">{percentComplete|fmt_percentage}</td>
- <td></td>
- </tr>
- {/steps}
- {/phases}
- </tbody>
- </table>
- </script>
- <script type="text/javascript" src="/static/jquery-3.3.1.min.js">
- </script><script type="text/javascript" src="/static/jquery.dataTables.min.js">
- </script><script type="text/javascript" src="/static/bootstrap-3.3.7/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="/static/d3-v4.1.1.min.js">
- </script><script type="text/javascript" src="dfshealth.js">
- </script>
- </body>
- </html>
|