blob: 9609d21127ce92de99c8369b9cc52bbae42bdcc9 [file] [log] [blame]
{{!
* 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.
}}
{{#unless view.showOnlyRows}}
<div class="clearfix like_pointer" {{action toggleInfoView target="view"}}>
<div class="name span2">
{{#if view.isCollapsed}}
<i class="icon-caret-down pull-left"></i>
{{else}}
<i class="icon-caret-right pull-left"></i>
{{/if}}
{{view App.MainDashboardServiceHealthView serviceBinding="view.service"}}
<a {{action selectService view.service href=true}}>{{view.service.displayName}}</a>
{{#if view.criticalAlertsCount}}
<a href="#" class="label label-important" {{action "showAlertsPopup" view.service target="view.parentView"}}>
{{view.criticalAlertsCount}}
</a>
{{/if}}
</div>
<div class="summary span">
{{view.summaryHeader}}
</div>
</div>
<div class="service-body">
<div class="span4">
<table class="table no-borders">
<tbody>
{{/unless}}
<!-- NameNode -->
<tr>
<td>{{t dashboard.services.hdfs.nanmenode}}</td>
<td><a href="#" {{action showDetails view.service.nameNode}}>{{view.service.nameNode.publicHostName}}</a></td>
</tr>
<!-- SecondaryNameNode -->
<tr>
<td>{{t dashboard.services.hdfs.snanmenode}}</td>
<td><a href="#" {{action showDetails view.service.snameNode}}>{{view.service.snameNode.publicHostName}}</a></td>
</tr>
<!-- Data Nodes -->
<tr>
<td>{{t dashboard.services.hdfs.datanodes}}</td>
<td>
<a href="#" {{action filterHosts view.dataNodeComponent}}>{{view.service.dataNodes.length}} {{t dashboard.services.hdfs.datanodes}}</a>
</td>
</tr>
<!-- Version -->
<tr>
<td>{{t dashboard.services.hdfs.version}}</td>
<td>{{view.version}}</td>
</tr>
<!-- NameNode Web UI -->
<tr>
<td>{{t dashboard.services.hdfs.nameNodeWebUI}}</td>
<td><a {{bindAttr href="view.nodeWebUrl"}} target="_blank">{{view.service.nameNode.publicHostName}}:50070</a>
</td>
</tr>
<!-- NameNode Uptime -->
<tr>
<td>{{t dashboard.services.hdfs.nodes.uptime}}</td>
<td>{{view.nodeUptime}}</td>
</tr>
<!-- NameNode Heap -->
<tr>
<td>{{t dashboard.services.hdfs.nodes.heap}}</td>
<td>{{view.nodeHeap}}</td>
</tr>
<!-- Data Node Counts -->
<tr>
<td>{{t dashboard.services.hdfs.datanodecounts}}</td>
<td>
{{view.service.liveDataNodes.length}} {{t dashboard.services.hdfs.nodes.live}} /
{{view.service.deadDataNodes.length}} {{t dashboard.services.hdfs.nodes.dead}} /
{{view.service.decommissionDataNodes.length}} {{t dashboard.services.hdfs.nodes.decom}}
</td>
</tr>
<!-- HDFS Capacity -->
<tr>
<td>{{t dashboard.services.hdfs.capacity}}</td>
<td>{{view.capacity}}</td>
</tr>
<!-- Blocks Total -->
<tr>
<td>{{t services.service.summary.blocksTotal}}</td>
<td>{{view.dfsTotalBlocks}}</td>
</tr>
<!-- Block Errors -->
<tr>
<td>{{t services.service.summary.blockErrors}}</td>
<td>
{{view.blockErrorsMessage}}
</td>
</tr>
<!-- Total Files And Directories -->
<tr>
<td>{{t dashboard.services.hdfs.totalFilesAndDirs}}</td>
<td>{{view.dfsTotalFiles}}</td>
</tr>
<!-- Upgrade Status -->
<tr>
<td>{{t services.service.summary.pendingUpgradeStatus}}</td>
<td>
{{#if view.service.upgradeStatus}}
{{t services.service.summary.pendingUpgradeStatus.notPending}}
{{else}}
{{t services.service.summary.pendingUpgradeStatus.pending}}
{{/if}}
</td>
</tr>
<!-- Safe Mode Status -->
<tr>
<td>{{t services.service.summary.safeModeStatus}}</td>
<td>
{{#if view.isSafeMode}}
{{t services.service.summary.safeModeStatus.inSafeMode}}
{{else}}
{{t services.service.summary.safeModeStatus.notInSafeMode}}
{{/if}}
</td>
</tr>
{{#unless view.showOnlyRows}}
</tbody>
</table>
</div>
<div class="dashboard-mini-chart span2">
<div {{bindAttr title="view.capacity"}}>
{{view view.Chart serviceBinding="view.service"}}
</div>
<div class="chartLabel">{{t dashboard.services.hdfs.chart.label}}</div>
{{#if view.service.quickLinks.length}}
{{#view App.QuickViewLinks contentBinding="view.service"}}
<div class="btn-group">
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
{{t common.quickLinks}}
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
{{#each view.quickLinks}}
<li><a {{bindAttr href="url"}} target="_blank">{{label}}</a></li>
{{/each}}
</ul>
</div>
{{/view}}
{{/if}}
</div>
</div>
{{/unless}}