本文整理汇总了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);
}
示例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;
}
示例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);
}
示例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;
}
示例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();
}
示例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));
}
示例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++;
}
}
示例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);
}