All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hbase-webapps.master.operationDetails.jsp Maven / Gradle / Ivy

There is a newer version: 3.0.0-beta-1
Show newest version
<%--
/**
 * 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.
 */
--%>
<%@ page contentType="text/html;charset=UTF-8"
  import="java.util.Date"
  import="java.util.List"
  import="org.apache.hadoop.conf.Configuration"
  import="org.apache.hadoop.hbase.client.Admin"
  import="org.apache.hadoop.hbase.master.HMaster"
  import="org.apache.hadoop.util.StringUtils"
  import="org.apache.hadoop.hbase.client.ServerType"
  import="org.apache.hadoop.hbase.client.LogEntry"
  import="org.apache.hadoop.hbase.client.BalancerRejection"
  import="org.apache.hadoop.hbase.client.BalancerDecision"
%>
<%
  HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
  Configuration conf = master.getConfiguration();

  List logList = null;
  List decisionList = null;
  if(master.isInitialized()) {
    try (Admin admin = master.getConnection().getAdmin()) {
      logList = (List)(List)admin.getLogEntries(null, "BALANCER_REJECTION", ServerType.MASTER, 250, null);
      decisionList = (List)(List)admin.getLogEntries(null, "BALANCER_DECISION", ServerType.MASTER, 250, null);
    }
  }
%>


    



Balancer Rejection explain why balancer is skipping runs and explain all factors considered

<% if (logList == null) { %> <% } else { %> <% for (BalancerRejection entry: logList) { %> <% } %> <% } %>
Reason CostFunctions Details
<%=entry.getReason()%> <% List costFunctions = entry.getCostFuncInfoList(); if (costFunctions != null && !costFunctions.isEmpty()) { %> <% for (String costFunctionInfo: entry.getCostFuncInfoList() ) { %> <% }%>
<%= costFunctionInfo %>
<% } %>

Balancer Decision displayed the history of decision(factor details and weights and costs) made by LoadBalancers

<% if (decisionList == null) { %> <% } else { %> <% for (BalancerDecision decision: decisionList) { %> <% List regionPlans = decision.getRegionPlans(); if ( regionPlans == null) {%> <% } else { %> <% } %> <% } %> <% } %>









Initial Function Costs Final Function Costs Init Total Cost Computed Total Cost Computed Steps Region Plans
<%=decision.getInitialFunctionCosts()%> <%=decision.getFinalFunctionCosts()%> <%=StringUtils.format("%.2f", decision.getInitTotalCost())%> <%=StringUtils.format("%.2f", decision.getComputedTotalCost())%> <%=decision.getComputedSteps()%> <% for (String plan : regionPlans) { %> <% } %>
<%=plan%>