org.apache.hadoop.hbase.ClusterStatus Java Examples
The following examples show how to use
org.apache.hadoop.hbase.ClusterStatus.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: HBase_1_1_2_ClientService.java From nifi with Apache License 2.0 | 6 votes |
/** * As of Apache NiFi 1.5.0, due to changes made to * {@link SecurityUtil#loginKerberos(Configuration, String, String)}, which is used by this * class to authenticate a principal with Kerberos, HBase controller services no longer * attempt relogins explicitly. For more information, please read the documentation for * {@link SecurityUtil#loginKerberos(Configuration, String, String)}. * <p/> * In previous versions of NiFi, a {@link org.apache.nifi.hadoop.KerberosTicketRenewer} was started * when the HBase controller service was enabled. The use of a separate thread to explicitly relogin could cause * race conditions with the implicit relogin attempts made by hadoop/HBase code on a thread that references the same * {@link UserGroupInformation} instance. One of these threads could leave the * {@link javax.security.auth.Subject} in {@link UserGroupInformation} to be cleared or in an unexpected state * while the other thread is attempting to use the {@link javax.security.auth.Subject}, resulting in failed * authentication attempts that would leave the HBase controller service in an unrecoverable state. * * @see SecurityUtil#loginKerberos(Configuration, String, String) */ @OnEnabled public void onEnabled(final ConfigurationContext context) throws InitializationException, IOException, InterruptedException { this.connection = createConnection(context); // connection check if (this.connection != null) { final Admin admin = this.connection.getAdmin(); if (admin != null) { admin.listTableNames(); final ClusterStatus clusterStatus = admin.getClusterStatus(); if (clusterStatus != null) { final ServerName master = clusterStatus.getMaster(); if (master != null) { masterAddress = master.getHostAndPort(); } else { masterAddress = null; } } } } }
Example #2
Source File: HBase_2_ClientService.java From nifi with Apache License 2.0 | 6 votes |
/** * As of Apache NiFi 1.5.0, due to changes made to * {@link SecurityUtil#loginKerberos(Configuration, String, String)}, which is used by this * class to authenticate a principal with Kerberos, HBase controller services no longer * attempt relogins explicitly. For more information, please read the documentation for * {@link SecurityUtil#loginKerberos(Configuration, String, String)}. * <p/> * In previous versions of NiFi, a {@link org.apache.nifi.hadoop.KerberosTicketRenewer} was started * when the HBase controller service was enabled. The use of a separate thread to explicitly relogin could cause * race conditions with the implicit relogin attempts made by hadoop/HBase code on a thread that references the same * {@link UserGroupInformation} instance. One of these threads could leave the * {@link javax.security.auth.Subject} in {@link UserGroupInformation} to be cleared or in an unexpected state * while the other thread is attempting to use the {@link javax.security.auth.Subject}, resulting in failed * authentication attempts that would leave the HBase controller service in an unrecoverable state. * * @see SecurityUtil#loginKerberos(Configuration, String, String) */ @OnEnabled public void onEnabled(final ConfigurationContext context) throws InitializationException, IOException, InterruptedException { this.connection = createConnection(context); // connection check if (this.connection != null) { final Admin admin = this.connection.getAdmin(); if (admin != null) { admin.listTableNames(); final ClusterStatus clusterStatus = admin.getClusterStatus(); if (clusterStatus != null) { final ServerName master = clusterStatus.getMaster(); if (master != null) { masterAddress = master.getHostAndPort(); } else { masterAddress = null; } } } } }
Example #3
Source File: HBaseLookupTable.java From pxf with Apache License 2.0 | 5 votes |
/** * Constructs a connector to HBase lookup table. Requires calling * {@link #close()} to close {@link HBaseAdmin} instance. * * @param conf HBase configuration * @throws IOException when initializing HBaseAdmin fails */ public HBaseLookupTable(Configuration conf) throws Exception { hbaseConfiguration = conf; connection = ConnectionFactory.createConnection(hbaseConfiguration); admin = connection.getAdmin(); ClusterStatus cs = admin.getClusterStatus(); LOG.debug("HBase cluster has " + cs.getServersSize() + " region servers " + "(" + cs.getDeadServers() + " dead)"); }
Example #4
Source File: RegionLoadAdapter.java From hbase-tools with Apache License 2.0 | 5 votes |
public RegionLoadAdapter(HBaseAdmin admin, Map<byte[], HRegionInfo> regionMap, Args args) throws IOException { long timestamp = System.currentTimeMillis(); ClusterStatus clusterStatus = admin.getClusterStatus(); Collection<ServerName> serverNames = clusterStatus.getServers(); for (ServerName serverName : serverNames) { HServerLoad serverLoad = clusterStatus.getLoad(serverName); for (Map.Entry<byte[], HServerLoad.RegionLoad> entry : serverLoad.getRegionsLoad().entrySet()) { if (regionMap.get(entry.getKey()) != null) regionLoadMap.put(regionMap.get(entry.getKey()), new RegionLoadDelegator(entry.getValue())); } } Util.printVerboseMessage(args, "RegionLoadAdapter", timestamp); }
Example #5
Source File: RegionSizeCalculator.java From tajo with Apache License 2.0 | 5 votes |
private void init(RegionLocator regionLocator, Admin admin) throws IOException { if (!enabled(admin.getConfiguration())) { LOG.info("Region size calculation disabled."); return; } LOG.info("Calculating region sizes for table \"" + regionLocator.getName() + "\"."); //get regions for table List<HRegionLocation> tableRegionInfos = regionLocator.getAllRegionLocations(); Set<byte[]> tableRegions = new TreeSet<byte[]>(Bytes.BYTES_COMPARATOR); for (HRegionLocation regionInfo : tableRegionInfos) { tableRegions.add(regionInfo.getRegionInfo().getRegionName()); } ClusterStatus clusterStatus = admin.getClusterStatus(); Collection<ServerName> servers = clusterStatus.getServers(); final long megaByte = 1024L * 1024L; //iterate all cluster regions, filter regions from our table and compute their size for (ServerName serverName: servers) { ServerLoad serverLoad = clusterStatus.getLoad(serverName); for (RegionLoad regionLoad: serverLoad.getRegionsLoad().values()) { byte[] regionId = regionLoad.getName(); if (tableRegions.contains(regionId)) { long regionSizeBytes = (regionLoad.getStorefileSizeMB() + regionLoad.getMemStoreSizeMB()) * megaByte; sizeMap.put(regionId, regionSizeBytes); if (LOG.isDebugEnabled()) { LOG.debug("Region " + regionLoad.getNameAsString() + " has size " + regionSizeBytes); } } } } LOG.debug("Region sizes calculated"); }
Example #6
Source File: HBaseRegionSizeCalculator.java From kylin-on-parquet-v2 with Apache License 2.0 | 4 votes |
/** * Computes size of each region for table and given column families. * */ public HBaseRegionSizeCalculator(String tableName, Connection hbaseConnection) throws IOException { Table table = null; Admin admin = null; try { table = hbaseConnection.getTable(TableName.valueOf(tableName)); admin = hbaseConnection.getAdmin(); if (!enabled(table.getConfiguration())) { logger.info("Region size calculation disabled."); return; } logger.info("Calculating region sizes for table \"" + table.getName() + "\"."); // Get regions for table. RegionLocator regionLocator = hbaseConnection.getRegionLocator(table.getName()); List<HRegionLocation> regionLocationList = regionLocator.getAllRegionLocations(); Set<byte[]> tableRegions = new TreeSet<byte[]>(Bytes.BYTES_COMPARATOR); for (HRegionLocation hRegionLocation : regionLocationList) { tableRegions.add(hRegionLocation.getRegionInfo().getRegionName()); } ClusterStatus clusterStatus = admin.getClusterStatus(); Collection<ServerName> servers = clusterStatus.getServers(); final long megaByte = 1024L * 1024L; // Iterate all cluster regions, filter regions from our table and // compute their size. for (ServerName serverName : servers) { ServerLoad serverLoad = clusterStatus.getLoad(serverName); for (RegionLoad regionLoad : serverLoad.getRegionsLoad().values()) { byte[] regionId = regionLoad.getName(); if (tableRegions.contains(regionId)) { long regionSizeBytes = regionLoad.getStorefileSizeMB() * megaByte; sizeMap.put(regionId, regionSizeBytes); countMap.put(regionId, new Pair<>(regionLoad.getStores(), regionLoad.getStorefiles())); if (regionSizeBytes == 0L) { logger.info("Region " + regionLoad.getNameAsString() + " has size " + regionSizeBytes); } } } } } finally { IOUtils.closeQuietly(admin); } }
Example #7
Source File: IndexLoadBalancer.java From phoenix with Apache License 2.0 | 4 votes |
@Override public void setClusterStatus(ClusterStatus st) { this.clusterStatus = st; }
Example #8
Source File: HBaseRegionSizeCalculator.java From kylin with Apache License 2.0 | 4 votes |
/** * Computes size of each region for table and given column families. * */ public HBaseRegionSizeCalculator(String tableName, Connection hbaseConnection) throws IOException { Table table = null; Admin admin = null; try { table = hbaseConnection.getTable(TableName.valueOf(tableName)); admin = hbaseConnection.getAdmin(); if (!enabled(table.getConfiguration())) { logger.info("Region size calculation disabled."); return; } logger.info("Calculating region sizes for table \"" + table.getName() + "\"."); // Get regions for table. RegionLocator regionLocator = hbaseConnection.getRegionLocator(table.getName()); List<HRegionLocation> regionLocationList = regionLocator.getAllRegionLocations(); Set<byte[]> tableRegions = new TreeSet<byte[]>(Bytes.BYTES_COMPARATOR); for (HRegionLocation hRegionLocation : regionLocationList) { tableRegions.add(hRegionLocation.getRegionInfo().getRegionName()); } ClusterStatus clusterStatus = admin.getClusterStatus(); Collection<ServerName> servers = clusterStatus.getServers(); final long megaByte = 1024L * 1024L; // Iterate all cluster regions, filter regions from our table and // compute their size. for (ServerName serverName : servers) { ServerLoad serverLoad = clusterStatus.getLoad(serverName); for (RegionLoad regionLoad : serverLoad.getRegionsLoad().values()) { byte[] regionId = regionLoad.getName(); if (tableRegions.contains(regionId)) { long regionSizeBytes = regionLoad.getStorefileSizeMB() * megaByte; sizeMap.put(regionId, regionSizeBytes); countMap.put(regionId, new Pair<>(regionLoad.getStores(), regionLoad.getStorefiles())); if (regionSizeBytes == 0L) { logger.info("Region " + regionLoad.getNameAsString() + " has size " + regionSizeBytes); } } } } } finally { IOUtils.closeQuietly(admin); } }
Example #9
Source File: HBaseRegionSizeCalculator.java From Kylin with Apache License 2.0 | 4 votes |
/** Constructor for unit testing */ HBaseRegionSizeCalculator(HTable table, HBaseAdmin hBaseAdmin) throws IOException { try { if (!enabled(table.getConfiguration())) { logger.info("Region size calculation disabled."); return; } logger.info("Calculating region sizes for table \"" + new String(table.getTableName()) + "\"."); // Get regions for table. Set<HRegionInfo> tableRegionInfos = table.getRegionLocations().keySet(); Set<byte[]> tableRegions = new TreeSet<byte[]>(Bytes.BYTES_COMPARATOR); for (HRegionInfo regionInfo : tableRegionInfos) { tableRegions.add(regionInfo.getRegionName()); } ClusterStatus clusterStatus = hBaseAdmin.getClusterStatus(); Collection<ServerName> servers = clusterStatus.getServers(); final long megaByte = 1024L * 1024L; // Iterate all cluster regions, filter regions from our table and // compute their size. for (ServerName serverName : servers) { ServerLoad serverLoad = clusterStatus.getLoad(serverName); for (RegionLoad regionLoad : serverLoad.getRegionsLoad().values()) { byte[] regionId = regionLoad.getName(); if (tableRegions.contains(regionId)) { long regionSizeBytes = regionLoad.getStorefileSizeMB() * megaByte; sizeMap.put(regionId, regionSizeBytes); // logger.info("Region " + regionLoad.getNameAsString() // + " has size " + regionSizeBytes); } } } } finally { hBaseAdmin.close(); } }
Example #10
Source File: HServer.java From spliceengine with GNU Affero General Public License v3.0 | 4 votes |
public HServer(ServerName serverName, ClusterStatus clusterStatus) { this.serverName = serverName; this.clusterStatus = clusterStatus; }