当前位置: 首页>>代码示例>>Java>>正文


Java HBaseAdmin.getConnection方法代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.client.HBaseAdmin.getConnection方法的典型用法代码示例。如果您正苦于以下问题:Java HBaseAdmin.getConnection方法的具体用法?Java HBaseAdmin.getConnection怎么用?Java HBaseAdmin.getConnection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hbase.client.HBaseAdmin的用法示例。


在下文中一共展示了HBaseAdmin.getConnection方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: closeRegionSilentlyAndWait

import org.apache.hadoop.hbase.client.HBaseAdmin; //导入方法依赖的package包/类
/**
 * Contacts a region server and waits up to hbase.hbck.close.timeout ms
 * (default 120s) to close the region.  This bypasses the active hmaster.
 */
public static void closeRegionSilentlyAndWait(HBaseAdmin admin,
    ServerName server, HRegionInfo region) throws IOException, InterruptedException {
  HConnection connection = admin.getConnection();
  HRegionInterface rs = connection.getHRegionConnection(server.getHostname(),
      server.getPort());
  rs.closeRegion(region, false);
  long timeout = admin.getConfiguration()
    .getLong("hbase.hbck.close.timeout", 120000);
  long expiration = timeout + System.currentTimeMillis();
  while (System.currentTimeMillis() < expiration) {
    try {
      HRegionInfo rsRegion = rs.getRegionInfo(region.getRegionName());
      if (rsRegion == null)
        return;
    } catch (IOException ioe) {
      return;
    }
    Thread.sleep(1000);
  }
  throw new IOException("Region " + region + " failed to close within"
      + " timeout " + timeout);
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:27,代码来源:HBaseFsckRepair.java

示例2: getDeployedHRIs

import org.apache.hadoop.hbase.client.HBaseAdmin; //导入方法依赖的package包/类
/**
 * Get region info from local cluster.
 */
Map<ServerName, List<String>> getDeployedHRIs(HBaseAdmin admin)
  throws IOException {
  ClusterStatus status = admin.getMaster().getClusterStatus();
  Collection<ServerName> regionServers = status.getServers();
  Map<ServerName, List<String>> mm =
      new HashMap<ServerName, List<String>>();
  HConnection connection = admin.getConnection();
  for (ServerName hsi : regionServers) {
    HRegionInterface server =
      connection.getHRegionConnection(hsi.getHostname(), hsi.getPort());

    // list all online regions from this region server
    List<HRegionInfo> regions = server.getOnlineRegions();
    List<String> regionNames = new ArrayList<String>();
    for (HRegionInfo hri : regions) {
      regionNames.add(hri.getRegionNameAsString());
    }
    mm.put(hsi, regionNames);
  }
  return mm;
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:25,代码来源:TestHBaseFsck.java

示例3: closeRegionSilentlyAndWait

import org.apache.hadoop.hbase.client.HBaseAdmin; //导入方法依赖的package包/类
/**
 * Contacts a region server and waits up to hbase.hbck.close.timeout ms
 * (default 120s) to close the region.  This bypasses the active hmaster.
 */
public static void closeRegionSilentlyAndWait(HBaseAdmin admin,
    ServerName server, HRegionInfo region) throws IOException, InterruptedException {
  HConnection connection = admin.getConnection();
  AdminService.BlockingInterface rs = connection.getAdmin(server);
  try {
    ProtobufUtil.closeRegion(rs, server, region.getRegionName(), false);
  } catch (IOException e) {
    LOG.warn("Exception when closing region: " + region.getRegionNameAsString(), e);
  }
  long timeout = admin.getConfiguration()
    .getLong("hbase.hbck.close.timeout", 120000);
  long expiration = timeout + System.currentTimeMillis();
  while (System.currentTimeMillis() < expiration) {
    try {
      HRegionInfo rsRegion =
        ProtobufUtil.getRegionInfo(rs, region.getRegionName());
      if (rsRegion == null) return;
    } catch (IOException ioe) {
      return;
    }
    Thread.sleep(1000);
  }
  throw new IOException("Region " + region + " failed to close within"
      + " timeout " + timeout);
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:30,代码来源:HBaseFsckRepair.java

示例4: getDeployedHRIs

import org.apache.hadoop.hbase.client.HBaseAdmin; //导入方法依赖的package包/类
/**
 * Get region info from local cluster.
 */
Map<ServerName, List<String>> getDeployedHRIs(
    final HBaseAdmin admin) throws IOException {
  ClusterStatus status = admin.getClusterStatus();
  Collection<ServerName> regionServers = status.getServers();
  Map<ServerName, List<String>> mm =
      new HashMap<ServerName, List<String>>();
  HConnection connection = admin.getConnection();
  for (ServerName hsi : regionServers) {
    AdminProtos.AdminService.BlockingInterface server = connection.getAdmin(hsi);

    // list all online regions from this region server
    List<HRegionInfo> regions = ProtobufUtil.getOnlineRegions(server);
    List<String> regionNames = new ArrayList<String>();
    for (HRegionInfo hri : regions) {
      regionNames.add(hri.getRegionNameAsString());
    }
    mm.put(hsi, regionNames);
  }
  return mm;
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:24,代码来源:TestHBaseFsck.java

示例5: connect

import org.apache.hadoop.hbase.client.HBaseAdmin; //导入方法依赖的package包/类
/**
 * To repair region consistency, one must call connect() in order to repair
 * online state.
 */
public void connect() throws IOException {
  admin = new HBaseAdmin(getConf());
  meta = new HTable(getConf(), HConstants.META_TABLE_NAME);
  status = admin.getMaster().getClusterStatus();
  connection = admin.getConnection();
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:11,代码来源:HBaseFsck.java

示例6: printOutRegionsPerServer

import org.apache.hadoop.hbase.client.HBaseAdmin; //导入方法依赖的package包/类
public void printOutRegionsPerServer(Configuration conf) throws IOException {
    HBaseAdmin hBaseAdmin = new HBaseAdmin(conf);
    HConnection connection = hBaseAdmin.getConnection();
    HTableDescriptor[] hTableDescriptors = connection.listTables();

    Map<RegionName, RegionInfo> regionInfos = constructInitialRegionInfos(hBaseAdmin, hTableDescriptors);
    collectRegionMetrics(regionInfos, hBaseAdmin);
    LOGGER.info("total regions: {}", regionInfos.size());
    printoutCompactDetail(filterRegions(regionInfos));
}
 
开发者ID:jinyeluo,项目名称:smarthbasecompactor,代码行数:11,代码来源:HbaseCompactor.java

示例7: majorCompact

import org.apache.hadoop.hbase.client.HBaseAdmin; //导入方法依赖的package包/类
public void majorCompact(Configuration conf, int runTimeInMinute) throws IOException, InterruptedException {
    long startTime = System.currentTimeMillis();
    long stopTime;
    if (runTimeInMinute > 0) {
        stopTime = runTimeInMinute * MINUTES_TO_MS + startTime;
    } else {
        stopTime = Long.MAX_VALUE;
    }

    int loop = 1;
    while (System.currentTimeMillis() < stopTime) {
        LOGGER.info(">>>>>>>> round: {} >>>>>>>>>>>", loop);

        HBaseAdmin hBaseAdmin = new HBaseAdmin(conf);
        HConnection connection = hBaseAdmin.getConnection();
        HTableDescriptor[] hTableDescriptors = connection.listTables();

        Map<RegionName, RegionInfo> regionInfos = constructInitialRegionInfos(hBaseAdmin, hTableDescriptors);

        collectRegionMetrics(regionInfos, hBaseAdmin);

        Map<ServerName, List<RegionInfo>> filteredRegions = filterRegions(regionInfos);
        printoutCompactSummary(filteredRegions);

        waitAMinute();

        findNonActiveRegionsAndCompact(hBaseAdmin, filteredRegions);
        loop++;
    }
}
 
开发者ID:jinyeluo,项目名称:smarthbasecompactor,代码行数:31,代码来源:HbaseCompactor.java

示例8: collectCompactInfo

import org.apache.hadoop.hbase.client.HBaseAdmin; //导入方法依赖的package包/类
public void collectCompactInfo(Configuration conf) throws IOException, InterruptedException {
    HBaseAdmin hBaseAdmin = new HBaseAdmin(conf);
    HConnection connection = hBaseAdmin.getConnection();
    Map<RegionName, RegionInfo> regionInfoMap =
        constructInitialRegionInfos(hBaseAdmin, connection.listTables());

    ClusterStatus clusterStatus = hBaseAdmin.getClusterStatus();
    Collection<ServerName> servers = clusterStatus.getServers();
    HbaseBatchExecutor executor = null;

    try {
        executor = new HbaseBatchExecutor(hBaseAdmin);

        for (ServerName server : servers) {
            if (server != null) {

                List<RegionInfo> regionsOnAServer = new LinkedList<>();

                ServerLoad load = clusterStatus.getLoad(server);
                Map<byte[], RegionLoad> regionsLoad = load.getRegionsLoad();
                for (RegionLoad regionLoad : regionsLoad.values()) {
                    RegionName regionName = new RegionName(regionLoad.getName());
                    RegionInfo regionInfo = regionInfoMap.get(regionName);
                    if (regionInfo != null) {
                        regionsOnAServer.add(regionInfo);
                    }
                }

                List<RegionInfo> compactingRegionsOnAServer =
                    executor.getCompactingRegions(server, regionsOnAServer);
                compactingRegions.put(server, compactingRegionsOnAServer);
                addToCompactedSet(server, compactingRegionsOnAServer);
            }
        }
    } finally {
        if (executor != null) {
            executor.close();
        }
    }

    printoutFilteredRegions(compactingRegions);
}
 
开发者ID:jinyeluo,项目名称:smarthbasecompactor,代码行数:43,代码来源:HbaseCompactor.java


注:本文中的org.apache.hadoop.hbase.client.HBaseAdmin.getConnection方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。