當前位置: 首頁>>代碼示例>>Java>>正文


Java HRegionInfo.isMetaTable方法代碼示例

本文整理匯總了Java中org.apache.hadoop.hbase.HRegionInfo.isMetaTable方法的典型用法代碼示例。如果您正苦於以下問題:Java HRegionInfo.isMetaTable方法的具體用法?Java HRegionInfo.isMetaTable怎麽用?Java HRegionInfo.isMetaTable使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.hadoop.hbase.HRegionInfo的用法示例。


在下文中一共展示了HRegionInfo.isMetaTable方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getWAL

import org.apache.hadoop.hbase.HRegionInfo; //導入方法依賴的package包/類
@Override public WAL getWAL(HRegionInfo regionInfo) throws IOException {
  WAL wal;
  LogRoller roller = walRoller;
  //_ROOT_ and hbase:meta regions have separate WAL.
  if (regionInfo != null && regionInfo.isMetaTable()
      && regionInfo.getReplicaId() == HRegionInfo.DEFAULT_REPLICA_ID) {
    roller = ensureMetaWALRoller();
    wal = walFactory.getMetaWAL(regionInfo.getEncodedNameAsBytes());
  } else if (regionInfo == null) {
    wal = walFactory.getWAL(UNSPECIFIED_REGION);
  } else {
    wal = walFactory.getWAL(regionInfo.getEncodedNameAsBytes());
  }
  roller.addWAL(wal);
  return wal;
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:17,代碼來源:HRegionServer.java

示例2: testCloseRegionIfInvalidRegionNameIsPassed

import org.apache.hadoop.hbase.HRegionInfo; //導入方法依賴的package包/類
@Test (timeout=300000)
public void testCloseRegionIfInvalidRegionNameIsPassed() throws Exception {
  byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegion1");
  createTableWithDefaultConf(TABLENAME);

  HRegionInfo info = null;
  HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));
  List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
  for (HRegionInfo regionInfo : onlineRegions) {
    if (!regionInfo.isMetaTable()) {
      if (regionInfo.getRegionNameAsString().contains("TestHBACloseRegion1")) {
        info = regionInfo;
        try {
          admin.closeRegionWithEncodedRegionName("sample", rs.getServerName()
            .getServerName());
        } catch (NotServingRegionException nsre) {
          // expected, ignore it
        }
      }
    }
  }
  onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
  assertTrue("The region should be present in online regions list.",
      onlineRegions.contains(info));
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:26,代碼來源:TestAdmin2.java

示例3: testCloseRegionWhenServerNameIsNull

import org.apache.hadoop.hbase.HRegionInfo; //導入方法依賴的package包/類
@Test (timeout=300000)
public void testCloseRegionWhenServerNameIsNull() throws Exception {
  byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegion3");
  createTableWithDefaultConf(TABLENAME);

  HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));

  try {
    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
    for (HRegionInfo regionInfo : onlineRegions) {
      if (!regionInfo.isMetaTable()) {
        if (regionInfo.getRegionNameAsString()
            .contains("TestHBACloseRegion3")) {
          admin.closeRegionWithEncodedRegionName(regionInfo.getEncodedName(),
              null);
        }
      }
    }
    fail("The test should throw exception if the servername passed is null.");
  } catch (IllegalArgumentException e) {
  }
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:23,代碼來源:TestAdmin2.java

示例4: testCloseRegionWhenServerNameIsEmpty

import org.apache.hadoop.hbase.HRegionInfo; //導入方法依賴的package包/類
@Test (timeout=300000)
public void testCloseRegionWhenServerNameIsEmpty() throws Exception {
  byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegionWhenServerNameIsEmpty");
  createTableWithDefaultConf(TABLENAME);

  HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));

  try {
    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
    for (HRegionInfo regionInfo : onlineRegions) {
      if (!regionInfo.isMetaTable()) {
        if (regionInfo.getRegionNameAsString()
            .contains("TestHBACloseRegionWhenServerNameIsEmpty")) {
          admin.closeRegionWithEncodedRegionName(regionInfo.getEncodedName(),
              " ");
        }
      }
    }
    fail("The test should throw exception if the servername passed is empty.");
  } catch (IllegalArgumentException e) {
  }
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:23,代碼來源:TestAdmin2.java

示例5: testCloseRegionWhenEncodedRegionNameIsNotGiven

import org.apache.hadoop.hbase.HRegionInfo; //導入方法依賴的package包/類
@Test (timeout=300000)
public void testCloseRegionWhenEncodedRegionNameIsNotGiven() throws Exception {
  byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegion4");
  createTableWithDefaultConf(TABLENAME);

  HRegionInfo info = null;
  HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));

  List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
  for (HRegionInfo regionInfo : onlineRegions) {
    if (!regionInfo.isMetaTable()) {
      if (regionInfo.getRegionNameAsString().contains("TestHBACloseRegion4")) {
        info = regionInfo;
        try {
          admin.closeRegionWithEncodedRegionName(regionInfo
            .getRegionNameAsString(), rs.getServerName().getServerName());
        } catch (NotServingRegionException nsre) {
          // expected, ignore it.
        }
      }
    }
  }
  onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
  assertTrue("The region should be present in online regions list.",
      onlineRegions.contains(info));
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:27,代碼來源:TestAdmin2.java

示例6: debugLog

import org.apache.hadoop.hbase.HRegionInfo; //導入方法依賴的package包/類
private void debugLog(HRegionInfo region, String string) {
  if (region.isMetaTable()) {
    LOG.info(string);
  } else {
    LOG.debug(string);
  }
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:8,代碼來源:ZkOpenRegionCoordination.java

示例7: filterRegions

import org.apache.hadoop.hbase.HRegionInfo; //導入方法依賴的package包/類
private List<HRegionInfo> filterRegions(List<HRegionInfo> regions) {
  List<HRegionInfo> ret = Lists.newArrayList();
  for (HRegionInfo hri : regions) {
    if (hri.isMetaTable() || (!hbck.checkMetaOnly
        && hbck.isTableIncluded(hri.getTable()))) {
      ret.add(hri);
    }
  }
  return ret;
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:11,代碼來源:HBaseFsck.java

示例8: undeployRegion

import org.apache.hadoop.hbase.HRegionInfo; //導入方法依賴的package包/類
/**
 * This method is used to undeploy a region -- close it and attempt to
 * remove its state from the Master.
 */
private void undeployRegion(Connection conn, ServerName sn,
    HRegionInfo hri) throws IOException, InterruptedException {
  try {
    HBaseFsckRepair.closeRegionSilentlyAndWait((HConnection) conn, sn, hri);
    if (!hri.isMetaTable()) {
      admin.offline(hri.getRegionName());
    }
  } catch (IOException ioe) {
    LOG.warn("Got exception when attempting to offline region "
        + Bytes.toString(hri.getRegionName()), ioe);
  }
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:17,代碼來源:TestHBaseFsck.java

示例9: getRegionPlan

import org.apache.hadoop.hbase.HRegionInfo; //導入方法依賴的package包/類
/**
 * @param region the region to assign
 * @param serverToExclude Server to exclude (we know its bad). Pass null if
 * all servers are thought to be assignable.
 * @param forceNewPlan If true, then if an existing plan exists, a new plan
 * will be generated.
 * @return Plan for passed <code>region</code> (If none currently, it creates one or
 * if no servers to assign, it returns null).
 */
private RegionPlan getRegionPlan(final HRegionInfo region,
    final ServerName serverToExclude, final boolean forceNewPlan) throws HBaseIOException {
  // Pickup existing plan or make a new one
  final String encodedName = region.getEncodedName();
  final List<ServerName> destServers =
    serverManager.createDestinationServersList(serverToExclude);

  if (destServers.isEmpty()){
    LOG.warn("Can't move " + encodedName +
      ", there is no destination server available.");
    return null;
  }

  RegionPlan randomPlan = null;
  boolean newPlan = false;
  RegionPlan existingPlan;

  synchronized (this.regionPlans) {
    existingPlan = this.regionPlans.get(encodedName);

    if (existingPlan != null && existingPlan.getDestination() != null) {
      LOG.debug("Found an existing plan for " + region.getRegionNameAsString()
        + " destination server is " + existingPlan.getDestination() +
          " accepted as a dest server = " + destServers.contains(existingPlan.getDestination()));
    }

    if (forceNewPlan
        || existingPlan == null
        || existingPlan.getDestination() == null
        || !destServers.contains(existingPlan.getDestination())) {
      newPlan = true;
    }
  }

  if (newPlan) {
    ServerName destination = balancer.randomAssignment(region, destServers);
    if (destination == null) {
      LOG.warn("Can't find a destination for " + encodedName);
      return null;
    }
    synchronized (this.regionPlans) {
      randomPlan = new RegionPlan(region, null, destination);
      if (!region.isMetaTable() && shouldAssignRegionsWithFavoredNodes) {
        List<HRegionInfo> regions = new ArrayList<HRegionInfo>(1);
        regions.add(region);
        try {
          processFavoredNodes(regions);
        } catch (IOException ie) {
          LOG.warn("Ignoring exception in processFavoredNodes " + ie);
        }
      }
      this.regionPlans.put(encodedName, randomPlan);
    }
    LOG.debug("No previous transition plan found (or ignoring " + "an existing plan) for "
        + region.getRegionNameAsString() + "; generated random plan=" + randomPlan + "; "
        + destServers.size() + " (online=" + serverManager.getOnlineServers().size()
        + ") available servers, forceNewPlan=" + forceNewPlan);
    return randomPlan;
  }
  LOG.debug("Using pre-existing plan for " +
    region.getRegionNameAsString() + "; plan=" + existingPlan);
  return existingPlan;
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:73,代碼來源:AssignmentManager.java


注:本文中的org.apache.hadoop.hbase.HRegionInfo.isMetaTable方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。