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

org.apache.hudi.org.apache.hadoop.hbase.generated.master.rsgroup_jsp Maven / Gradle / Ivy

There is a newer version: 1.0.0-beta1
Show newest version
package org.apache.hadoop.hbase.generated.master;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
import java.util.stream.Stream;
import java.util.stream.Collectors;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.RSGroupTableAccessor;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.RegionInfo;
import org.apache.hadoop.hbase.client.TableState;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.master.HMaster;
import org.apache.hadoop.hbase.master.RegionState;
import org.apache.hadoop.hbase.net.Address;
import org.apache.hadoop.hbase.rsgroup.RSGroupInfo;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.VersionInfo;
import org.apache.hadoop.util.StringUtils.TraditionalBinaryPrefix;
import org.apache.hadoop.hbase.ServerMetrics;
import org.apache.hadoop.hbase.Size;
import org.apache.hadoop.hbase.RegionMetrics;

public final class rsgroup_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();

  private static java.util.List _jspx_dependants;

  private org.glassfish.jsp.api.ResourceInjector _jspx_resourceInjector;

  public java.util.List getDependants() {
    return _jspx_dependants;
  }

  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {

    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;

    try {
      response.setContentType("text/html;charset=UTF-8");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;
      _jspx_resourceInjector = (org.glassfish.jsp.api.ResourceInjector) application.getAttribute("com.sun.appserv.jsp.resource.injector");

      out.write("\n\n\n\n\n");

  String rsGroupName = request.getParameter("name");
  pageContext.setAttribute("pageTitle", "RSGroup: " + rsGroupName);

      out.write('\n');
      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "header.jsp" + "?" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("pageTitle", request.getCharacterEncoding())+ "=" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode((java.lang.String) org.apache.jasper.runtime.PageContextImpl.evaluateExpression("${pageTitle}", java.lang.String.class, (PageContext)_jspx_page_context, null), request.getCharacterEncoding()), out, false);
      out.write("\n
\n"); HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER); RSGroupInfo rsGroupInfo = null; final String ZEROKB = "0 KB"; final String ZEROMB = "0 MB"; if (!RSGroupTableAccessor.isRSGroupsEnabled(master.getConnection())) { out.write("\n
\n
\n

RSGroups are not enabled

\n
\n
\n "); org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "redirect.jsp", out, false); out.write('\n'); } else if (rsGroupName == null || rsGroupName.isEmpty() || (rsGroupInfo = RSGroupTableAccessor.getRSGroupInfo( master.getConnection(), Bytes.toBytes(rsGroupName))) == null) { out.write("\n
\n
\n

RSGroup: "); out.print( rsGroupName ); out.write(" does not exist

\n
\n
\n "); org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "redirect.jsp", out, false); out.write('\n'); } else { List
rsGroupServers = new ArrayList<>(); List rsGroupTables = new ArrayList<>(); rsGroupServers.addAll(rsGroupInfo.getServers()); rsGroupTables.addAll(rsGroupInfo.getTables()); Collections.sort(rsGroupServers); rsGroupTables.sort((o1, o2) -> { int compare = Bytes.compareTo(o1.getNamespace(), o2.getNamespace()); if (compare != 0) return compare; compare = Bytes.compareTo(o1.getQualifier(), o2.getQualifier()); if (compare != 0) return compare; return 0; }); Map onlineServers = Collections.emptyMap(); Map serverMaping = Collections.emptyMap(); if (master.getServerManager() != null) { onlineServers = master.getServerManager().getOnlineServers().entrySet().stream() .collect(Collectors.toMap(p -> p.getKey().getAddress(), Map.Entry::getValue)); serverMaping = master.getServerManager().getOnlineServers().entrySet().stream() .collect(Collectors.toMap(p -> p.getKey().getAddress(), Map.Entry::getKey)); } out.write("\n
\n
\n
\n

RSGroup: "); out.print( rsGroupName ); out.write("

\n
\n
\n
\n
\n
\n
\n

Region Servers

\n
\n
\n
\n "); if (rsGroupServers != null && rsGroupServers.size() > 0) { out.write("\n \n\n
\n
\n \n \n \n \n \n \n \n \n"); out.write(" \n "); int totalRegions = 0; int totalRequestsPerSecond = 0; int inconsistentNodeNum = 0; String masterVersion = VersionInfo.getVersion(); for (Address server: rsGroupServers) { ServerName serverName = serverMaping.get(server); if (serverName != null) { ServerMetrics sl = onlineServers.get(server); String version = master.getRegionServerVersion(serverName); if (!masterVersion.equals(version)) { inconsistentNodeNum ++; } double requestsPerSecond = 0.0; int numRegionsOnline = 0; long lastContact = 0; if (sl != null) { requestsPerSecond = sl.getRequestCountPerSecond(); numRegionsOnline = sl.getRegionMetrics().size(); totalRegions += sl.getRegionMetrics().size(); totalRequestsPerSecond += sl.getRequestCountPerSecond(); lastContact = (System.currentTimeMillis() - sl.getReportTimestamp())/1000; } long startcode = serverName.getStartcode(); int infoPort = master.getRegionServerInfoPort(serverName); String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status"; out.write("\n \n \n \n \n \n \n \n \n "); } else { out.write("\n \n \n \n \n \n \n \n \n "); } out.write("\n "); } out.write("\n \n \n \n "); if (inconsistentNodeNum > 0) { out.write("\n \n "); } else { out.write("\n \n "); } out.write("\n \n \n \n
ServerNameStart timeLast contactVersionRequests Per SecondNum. Regions
'); out.print( serverName.getServerName() ); out.write(""); out.print( new Date(startcode) ); out.write(""); out.print( lastContact ); out.write(""); out.print( version ); out.write(""); out.print( String.format("%.0f", requestsPerSecond) ); out.write(""); out.print( numRegionsOnline ); out.write("
"); out.print( server ); out.write(""); out.print( "Dead" ); out.write("
Total:"); out.print( rsGroupServers.size() ); out.write(""); out.print( inconsistentNodeNum ); out.write(" nodes with inconsistent version"); out.print( totalRequestsPerSecond ); out.write(""); out.print( totalRegions ); out.write("
\n
\n
\n \n \n \n \n \n \n \n "); for (Address server: rsGroupServers) { String usedHeapSizeMBStr = ZEROMB; String maxHeapSizeMBStr = ZEROMB; String memStoreSizeMBStr = ZEROMB; ServerName serverName = serverMaping.get(server); ServerMetrics sl = onlineServers.get(server); if (sl != null && serverName != null) { double usedHeapSizeMB = sl.getUsedHeapSize().get(Size.Unit.MEGABYTE); double maxHeapSizeMB = sl.getMaxHeapSize().get(Size.Unit.MEGABYTE); double memStoreSizeMB = sl.getRegionMetrics().values() .stream().mapToDouble(rm -> rm.getMemStoreSize().get(Size.Unit.MEGABYTE)) .sum(); int infoPort = master.getRegionServerInfoPort(serverName); String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status"; if (memStoreSizeMB > 0) { memStoreSizeMBStr = TraditionalBinaryPrefix.long2String( (long) memStoreSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1); } if (usedHeapSizeMB > 0) { usedHeapSizeMBStr = TraditionalBinaryPrefix.long2String( (long) usedHeapSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1); } if (maxHeapSizeMB > 0) { maxHeapSizeMBStr = TraditionalBinaryPrefix.long2String( (long) maxHeapSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1); } out.write("\n \n \n \n \n \n \n "); } else { out.write("\n \n \n \n \n \n \n "); } } out.write("\n
ServerNameUsed HeapMax HeapMemstore Size
'); out.print( serverName.getServerName() ); out.write(""); out.print( usedHeapSizeMBStr ); out.write(""); out.print( maxHeapSizeMBStr ); out.write(""); out.print( memStoreSizeMBStr ); out.write("
"); out.print( server ); out.write("
\n
\n
\n \n \n \n \n \n \n \n "); for (Address server: rsGroupServers) { ServerName serverName = serverMaping.get(server); ServerMetrics sl = onlineServers.get(server); if (sl != null && serverName != null) { int infoPort = master.getRegionServerInfoPort(serverName); long readRequestCount = 0; long writeRequestCount = 0; for (RegionMetrics rm : sl.getRegionMetrics().values()) { readRequestCount += rm.getReadRequestCount(); writeRequestCount += rm.getWriteRequestCount(); } String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status"; out.write("\n \n \n \n \n \n \n "); } else { out.write("\n \n \n \n \n \n \n "); } } out.write("\n
ServerNameRequest Per SecondRead Request CountWrite Request Count
'); out.print( serverName.getServerName() ); out.write(""); out.print( sl.getRequestCountPerSecond() ); out.write(""); out.print( readRequestCount ); out.write(""); out.print( writeRequestCount ); out.write("
"); out.print( server ); out.write("
\n
\n
\n \n \n \n \n \n \n \n \n \n \n "); for (Address server: rsGroupServers) { String storeUncompressedSizeMBStr = ZEROMB; String storeFileSizeMBStr = ZEROMB; String totalStaticIndexSizeKBStr = ZEROKB; String totalStaticBloomSizeKBStr = ZEROKB; ServerName serverName = serverMaping.get(server); ServerMetrics sl = onlineServers.get(server); if (sl != null && serverName != null) { long storeCount = 0; long storeFileCount = 0; double storeUncompressedSizeMB = 0; double storeFileSizeMB = 0; double totalStaticIndexSizeKB = 0; double totalStaticBloomSizeKB = 0; for (RegionMetrics rm : sl.getRegionMetrics().values()) { storeCount += rm.getStoreCount(); storeFileCount += rm.getStoreFileCount(); storeUncompressedSizeMB += rm.getUncompressedStoreFileSize().get(Size.Unit.MEGABYTE); storeFileSizeMB += rm.getStoreFileSize().get(Size.Unit.MEGABYTE); totalStaticIndexSizeKB += rm.getStoreFileUncompressedDataIndexSize().get(Size.Unit.KILOBYTE); totalStaticBloomSizeKB += rm.getBloomFilterSize().get(Size.Unit.KILOBYTE); } int infoPort = master.getRegionServerInfoPort(serverName); String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status"; if (storeUncompressedSizeMB > 0) { storeUncompressedSizeMBStr = TraditionalBinaryPrefix.long2String( (long) storeUncompressedSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1); } if (storeFileSizeMB > 0) { storeFileSizeMBStr = TraditionalBinaryPrefix.long2String( (long) storeFileSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1); } if (totalStaticIndexSizeKB > 0) { totalStaticIndexSizeKBStr = TraditionalBinaryPrefix.long2String( (long) totalStaticIndexSizeKB * TraditionalBinaryPrefix.KILO.value, "B", 1); } if (totalStaticBloomSizeKB > 0) { totalStaticBloomSizeKBStr = TraditionalBinaryPrefix.long2String( (long) totalStaticBloomSizeKB * TraditionalBinaryPrefix.KILO.value, "B", 1); } out.write("\n \n \n \n \n \n \n \n \n \n "); } else { out.write("\n \n \n \n \n \n \n \n \n \n "); } } out.write("\n
ServerNameNum. StoresNum. StorefilesStorefile Size UncompressedStorefile SizeIndex SizeBloom Size
'); out.print( serverName.getServerName() ); out.write(""); out.print( storeCount ); out.write(""); out.print( storeFileCount ); out.write(""); out.print( storeUncompressedSizeMBStr ); out.write(""); out.print( storeFileSizeMBStr ); out.write(""); out.print( totalStaticIndexSizeKBStr ); out.write(""); out.print( totalStaticBloomSizeKBStr ); out.write("
"); out.print( server ); out.write("
\n
\n
\n \n \n \n \n \n \n \n \n "); for (Address server: rsGroupServers) { ServerName serverName = serverMaping.get(server); ServerMetrics sl = onlineServers.get(server); if (sl != null && serverName != null) { long totalCompactingCells = 0; long currentCompactedCells = 0; for (RegionMetrics rm : sl.getRegionMetrics().values()) { totalCompactingCells += rm.getCompactingCellCount(); currentCompactedCells += rm.getCompactedCellCount(); } String percentDone = ""; if (totalCompactingCells > 0) { percentDone = String.format("%.2f", 100 * ((float) currentCompactedCells / totalCompactingCells)) + "%"; } int infoPort = master.getRegionServerInfoPort(serverName); String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status"; out.write("\n \n \n \n \n \n \n \n "); } else { out.write("\n \n \n \n \n \n \n \n "); } } out.write("\n
ServerNameNum. Compacting KVsNum. Compacted KVsRemaining KVsCompaction Progress
'); out.print( serverName.getServerName() ); out.write(""); out.print( totalCompactingCells ); out.write(""); out.print( currentCompactedCells ); out.write(""); out.print( totalCompactingCells - currentCompactedCells ); out.write(""); out.print( percentDone ); out.write("
"); out.print( server ); out.write("
\n
\n
\n "); } else { out.write("\n

No Region Servers

\n "); } out.write("\n
\n
\n
\n\n
\n
\n
\n

Tables

\n
\n
\n\n "); if (rsGroupTables != null && rsGroupTables.size() > 0) { HTableDescriptor[] tables = null; try (Admin admin = master.getConnection().getAdmin()) { tables = master.isInitialized() ? admin.listTables((Pattern)null, true) : null; } Map tableDescriptors = Stream.of(tables).collect(Collectors.toMap(TableDescriptor::getTableName, p -> p)); out.write("\n \n \n \n \n \n \n \n \n \n \n \n \n "); for(TableName tableName : rsGroupTables) { HTableDescriptor htDesc = tableDescriptors.get(tableName); if(htDesc == null) { out.write("\n \n \n \n \n \n \n \n \n \n \n \n "); } else { out.write("\n \n \n \n "); TableState tableState = master.getTableStateManager().getTableState(tableName); if(tableState.isDisabledOrDisabling()) { out.write("\n \n "); } else { out.write("\n \n "); } out.write("\n "); Map> tableRegions = master.getAssignmentManager().getRegionStates().getRegionByStateOfTable(tableName); int openRegionsCount = tableRegions.get(RegionState.State.OPEN).size(); int offlineRegionsCount = tableRegions.get(RegionState.State.OFFLINE).size(); int splitRegionsCount = tableRegions.get(RegionState.State.SPLIT).size(); int failedRegionsCount = tableRegions.get(RegionState.State.FAILED_OPEN).size() + tableRegions.get(RegionState.State.FAILED_CLOSE).size(); int otherRegionsCount = 0; for (List list: tableRegions.values()) { otherRegionsCount += list.size(); } // now subtract known states otherRegionsCount = otherRegionsCount - openRegionsCount - failedRegionsCount - offlineRegionsCount - splitRegionsCount; out.write("\n \n \n \n \n \n \n \n "); } } out.write("\n

"); out.print( rsGroupTables.size() ); out.write(" table(s) in set.

\n
NamespaceTableStatsOnline RegionsOffline RegionsFailed RegionsSplit RegionsOther RegionsDescription
"); out.print( tableName.getNamespaceAsString() ); out.write(""); out.print( tableName.getQualifierAsString() ); out.write(""); out.print( "DELETED" ); out.write("
"); out.print( tableName.getNamespaceAsString() ); out.write("'); out.print( tableName.getQualifierAsString() ); out.write(""); out.print( tableState.getState().name() ); out.write(""); out.print( tableState.getState().name() ); out.write(""); out.print( openRegionsCount ); out.write(""); out.print( offlineRegionsCount ); out.write(""); out.print( failedRegionsCount ); out.write(""); out.print( splitRegionsCount ); out.write(""); out.print( otherRegionsCount ); out.write(""); out.print( htDesc.toStringCustomizedValues() ); out.write("
\n "); } else { out.write("\n

No Tables

\n "); } out.write("\n
\n"); } out.write("\n
\n"); org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "footer.jsp", out, false); out.write('\n'); } catch (Throwable t) { if (!(t instanceof SkipPageException)){ out = _jspx_out; if (out != null && out.getBufferSize() != 0) out.clearBuffer(); if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); else throw new ServletException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy