/** * @param miniHBaseCluster * @param server * @param bs * @return */ private List<HRegion> getRegionsFromServerForTable(MiniHBaseCluster cluster, ServerName server, byte[] table) { List<HRegion> online = Collections.emptyList(); for (RegionServerThread rst : cluster.getRegionServerThreads()) { // if its the server we are going to kill, get the regions we want to reassign if (rst.getRegionServer().getServerName().equals(server)) { online = rst.getRegionServer().getOnlineRegions(table); break; } } return online; }
continue; List<HRegionInfo> regions = server.getOnlineRegions(); LOG.info("\t" + server.getServerName() + " regions: " + regions);
static public void flushAllOnlineRegions(HRegionServer regionServer, TableName tableName) throws IOException { for (Region r : regionServer.getOnlineRegions(tableName)) { r.flush(true); } }
public HRegion getRegion() throws IOException { return TEST_UTIL.getRSForFirstRegionInTable(TABLENAME).getOnlineRegions( TABLENAME).get(0); }
@Override public <T> Map<byte[], T> forEachRegion(byte[] tableName, Function<HRegion, T> function) { MiniHBaseCluster hbaseCluster = getHBaseCluster(); Map<byte[], T> results = new TreeMap<>(Bytes.BYTES_COMPARATOR); // make sure consumer config cache is updated for (JVMClusterUtil.RegionServerThread t : hbaseCluster.getRegionServerThreads()) { List<HRegion> serverRegions = t.getRegionServer().getOnlineRegions(TableName.valueOf(tableName)); for (HRegion region : serverRegions) { results.put(region.getRegionName(), function.apply(region)); } } return results; }
@Override public <T> Map<byte[], T> forEachRegion(byte[] tableName, Function<HRegion, T> function) { MiniHBaseCluster hbaseCluster = getHBaseCluster(); Map<byte[], T> results = new TreeMap<>(Bytes.BYTES_COMPARATOR); // make sure consumer config cache is updated for (JVMClusterUtil.RegionServerThread t : hbaseCluster.getRegionServerThreads()) { List<HRegion> serverRegions = t.getRegionServer().getOnlineRegions(TableName.valueOf(tableName)); for (HRegion region : serverRegions) { results.put(region.getRegionName(), function.apply(region)); } } return results; }
@Override public <T> Map<byte[], T> forEachRegion(byte[] tableName, Function<HRegion, T> function) { MiniHBaseCluster hbaseCluster = getHBaseCluster(); Map<byte[], T> results = new TreeMap<>(Bytes.BYTES_COMPARATOR); // make sure consumer config cache is updated for (JVMClusterUtil.RegionServerThread t : hbaseCluster.getRegionServerThreads()) { List<HRegion> serverRegions = t.getRegionServer().getOnlineRegions(TableName.valueOf(tableName)); for (HRegion region : serverRegions) { results.put(region.getRegionName(), function.apply(region)); } } return results; }
@Override public <T> Map<byte[], T> forEachRegion(byte[] tableName, Function<HRegion, T> function) { MiniHBaseCluster hbaseCluster = getHBaseCluster(); Map<byte[], T> results = new TreeMap<>(Bytes.BYTES_COMPARATOR); // make sure consumer config cache is updated for (JVMClusterUtil.RegionServerThread t : hbaseCluster.getRegionServerThreads()) { List<HRegion> serverRegions = t.getRegionServer().getOnlineRegions(TableName.valueOf(tableName)); for (HRegion region : serverRegions) { results.put(region.getRegionName(), function.apply(region)); } } return results; }
@Override public <T> Map<byte[], T> forEachRegion(byte[] tableName, Function<HRegion, T> function) { MiniHBaseCluster hbaseCluster = getHBaseCluster(); Map<byte[], T> results = new TreeMap<>(Bytes.BYTES_COMPARATOR); // make sure consumer config cache is updated for (JVMClusterUtil.RegionServerThread t : hbaseCluster.getRegionServerThreads()) { List<HRegion> serverRegions = t.getRegionServer().getOnlineRegions(TableName.valueOf(tableName)); for (HRegion region : serverRegions) { results.put(region.getRegionName(), function.apply(region)); } } return results; }
@Override public <T> Map<byte[], T> forEachRegion(byte[] tableName, Function<HRegion, T> function) { MiniHBaseCluster hbaseCluster = getHBaseCluster(); Map<byte[], T> results = new TreeMap<>(Bytes.BYTES_COMPARATOR); // make sure consumer config cache is updated for (JVMClusterUtil.RegionServerThread t : hbaseCluster.getRegionServerThreads()) { List<Region> serverRegions = t.getRegionServer().getOnlineRegions(TableName.valueOf(tableName)); for (Region region : serverRegions) { results.put(region.getRegionInfo().getRegionName(), function.apply((HRegion) region)); } } return results; }
@Override public <T> Map<byte[], T> forEachRegion(byte[] tableName, Function<HRegion, T> function) { MiniHBaseCluster hbaseCluster = getHBaseCluster(); Map<byte[], T> results = new TreeMap<>(Bytes.BYTES_COMPARATOR); // make sure consumer config cache is updated for (JVMClusterUtil.RegionServerThread t : hbaseCluster.getRegionServerThreads()) { List<Region> serverRegions = t.getRegionServer().getOnlineRegions(TableName.valueOf(tableName)); for (Region region : serverRegions) { results.put(region.getRegionInfo().getRegionName(), function.apply((HRegion) region)); } } return results; }
/** * Force and block on a flush to occur on all regions of table {@code tableName}. * @param tableName The table whose regions should be flushed. */ public void forceRegionFlush(byte[] tableName) throws IOException { MiniHBaseCluster hbaseCluster = getHBaseCluster(); if (hbaseCluster != null) { TableName qualifiedTableName = TableName.valueOf(tableName); for (JVMClusterUtil.RegionServerThread t : hbaseCluster.getRegionServerThreads()) { List<HRegion> serverRegions = t.getRegionServer().getOnlineRegions(qualifiedTableName); List<Runnable> flushers = new ArrayList<>(); for (HRegion region : serverRegions) { flushers.add(createFlushRegion(region)); } parallelRun(flushers); LOG.info("RegionServer {}: Flushed {} regions for table {}", t.getRegionServer().getServerName().toString(), serverRegions.size(), Bytes.toStringBinary(tableName)); } } }
/** * Force and block on a compaction on all regions of table {@code tableName}. * @param tableName The table whose regions should be compacted. * @param majorCompact Whether a major compaction should be requested. */ public void forceRegionCompact(byte[] tableName, boolean majorCompact) throws IOException { MiniHBaseCluster hbaseCluster = getHBaseCluster(); if (hbaseCluster != null) { TableName qualifiedTableName = TableName.valueOf(tableName); for (JVMClusterUtil.RegionServerThread t : hbaseCluster.getRegionServerThreads()) { List<HRegion> serverRegions = t.getRegionServer().getOnlineRegions(qualifiedTableName); List<Runnable> compacters = new ArrayList<>(); for (HRegion region : serverRegions) { compacters.add(createCompactRegion(region, majorCompact)); } parallelRun(compacters); LOG.info("RegionServer {}: Compacted {} regions for table {}", t.getRegionServer().getServerName().toString(), serverRegions.size(), Bytes.toStringBinary(tableName)); } } }
List<HRegionInfo> onlineRegions = regionServer.getOnlineRegions(); int interval = regionServer.getConfiguration().getInt("hbase.regionserver.msginterval", 3000)/1000; int masterInfoPort = regionServer.getConfiguration().getInt("hbase.master.info.port", 60010);