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


Java FSUtils.getRegionDirs方法代码示例

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


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

示例1: checkTempDir

import org.apache.hadoop.hbase.util.FSUtils; //导入方法依赖的package包/类
/**
 * Make sure the hbase temp directory exists and is empty.
 * NOTE that this method is only executed once just after the master becomes the active one.
 */
private void checkTempDir(final Path tmpdir, final Configuration c, final FileSystem fs)
    throws IOException {
  // If the temp directory exists, clear the content (left over, from the previous run)
  if (fs.exists(tmpdir)) {
    // Archive table in temp, maybe left over from failed deletion,
    // if not the cleaner will take care of them.
    for (Path tabledir: FSUtils.getTableDirs(fs, tmpdir)) {
      for (Path regiondir: FSUtils.getRegionDirs(fs, tabledir)) {
        HFileArchiver.archiveRegion(fs, this.rootdir, tabledir, regiondir);
      }
    }
    if (!fs.delete(tmpdir, true)) {
      throw new IOException("Unable to clean the temp directory: " + tmpdir);
    }
  }

  // Create the temp directory
  if (!fs.mkdirs(tmpdir)) {
    throw new IOException("HBase temp directory '" + tmpdir + "' creation failure.");
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:26,代码来源:MasterFileSystem.java

示例2: compactTable

import org.apache.hadoop.hbase.util.FSUtils; //导入方法依赖的package包/类
private void compactTable(final Path tableDir, final boolean compactOnce, final boolean major)
    throws IOException {
  HTableDescriptor htd = FSTableDescriptors.getTableDescriptorFromFs(fs, tableDir);
  for (Path regionDir: FSUtils.getRegionDirs(fs, tableDir)) {
    compactRegion(tableDir, htd, regionDir, compactOnce, major);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:8,代码来源:CompactionTool.java

示例3: getFamiliesFromFS

import org.apache.hadoop.hbase.util.FSUtils; //导入方法依赖的package包/类
private Set<String> getFamiliesFromFS(final TableName tableName) throws IOException {
  MasterFileSystem mfs = TEST_UTIL.getMiniHBaseCluster().getMaster().getMasterFileSystem();
  Set<String> families = new HashSet<String>();
  Path tableDir = FSUtils.getTableDir(mfs.getRootDir(), tableName);
  for (Path regionDir: FSUtils.getRegionDirs(mfs.getFileSystem(), tableDir)) {
    for (Path familyDir: FSUtils.getFamilyDirs(mfs.getFileSystem(), regionDir)) {
      families.add(familyDir.getName());
    }
  }
  return families;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:12,代码来源:TestRestoreSnapshotFromClient.java

示例4: validateColumnFamilyDeletion

import org.apache.hadoop.hbase.util.FSUtils; //导入方法依赖的package包/类
public static void validateColumnFamilyDeletion(final HMaster master, final TableName tableName,
    final String family) throws IOException {
  // verify htd
  HTableDescriptor htd = master.getTableDescriptors().get(tableName);
  assertTrue(htd != null);
  assertFalse(htd.hasFamily(family.getBytes()));

  // verify fs
  final FileSystem fs = master.getMasterFileSystem().getFileSystem();
  final Path tableDir = FSUtils.getTableDir(master.getMasterFileSystem().getRootDir(), tableName);
  for (Path regionDir: FSUtils.getRegionDirs(fs, tableDir)) {
    final Path familyDir = new Path(regionDir, family);
    assertFalse(family + " family dir should not exist", fs.exists(familyDir));
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:16,代码来源:MasterProcedureTestingUtility.java

示例5: testRestoreSnapshotDoesNotCreateBackRefLinks

import org.apache.hadoop.hbase.util.FSUtils; //导入方法依赖的package包/类
@Test
public void testRestoreSnapshotDoesNotCreateBackRefLinks() throws Exception {
  setupCluster();
  TableName tableName = TableName.valueOf("testRestoreSnapshotDoesNotCreateBackRefLinks");
  String snapshotName = "foo";

  try {
    createTableAndSnapshot(UTIL, tableName, snapshotName, getStartRow(), getEndRow(), 1);

    Path tmpTableDir = UTIL.getRandomDir();

    testRestoreSnapshotDoesNotCreateBackRefLinksInit(tableName, snapshotName,tmpTableDir);

    Path rootDir = FSUtils.getRootDir(UTIL.getConfiguration());
    for (Path regionDir : FSUtils.getRegionDirs(fs, FSUtils.getTableDir(rootDir, tableName))) {
      for (Path storeDir : FSUtils.getFamilyDirs(fs, regionDir)) {
        for (FileStatus status : fs.listStatus(storeDir)) {
          System.out.println(status.getPath());
          if (StoreFileInfo.isValid(status)) {
            Path archiveStoreDir = HFileArchiveUtil.getStoreArchivePath(UTIL.getConfiguration(),
              tableName, regionDir.getName(), storeDir.getName());

            Path path = HFileLink.getBackReferencesDir(storeDir, status.getPath().getName());
            // assert back references directory is empty
            assertFalse("There is a back reference in " + path, fs.exists(path));

            path = HFileLink.getBackReferencesDir(archiveStoreDir, status.getPath().getName());
            // assert back references directory is empty
            assertFalse("There is a back reference in " + path, fs.exists(path));
          }
        }
      }
    }
  } finally {
    UTIL.getHBaseAdmin().deleteSnapshot(snapshotName);
    UTIL.deleteTable(tableName);
    tearDownCluster();
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:40,代码来源:TableSnapshotInputFormatTestBase.java

示例6: validateTableCreation

import org.apache.hadoop.hbase.util.FSUtils; //导入方法依赖的package包/类
public static void validateTableCreation(final HMaster master, final TableName tableName,
    final HRegionInfo[] regions, boolean hasFamilyDirs, String... family) throws IOException {
  // check filesystem
  final FileSystem fs = master.getMasterFileSystem().getFileSystem();
  final Path tableDir = FSUtils.getTableDir(master.getMasterFileSystem().getRootDir(), tableName);
  assertTrue(fs.exists(tableDir));
  FSUtils.logFileSystemState(fs, tableDir, LOG);
  List<Path> allRegionDirs = FSUtils.getRegionDirs(fs, tableDir);
  for (int i = 0; i < regions.length; ++i) {
    Path regionDir = new Path(tableDir, regions[i].getEncodedName());
    assertTrue(regions[i] + " region dir does not exist", fs.exists(regionDir));
    assertTrue(allRegionDirs.remove(regionDir));
    List<Path> allFamilyDirs = FSUtils.getFamilyDirs(fs, regionDir);
    for (int j = 0; j < family.length; ++j) {
      final Path familyDir = new Path(regionDir, family[j]);
      if (hasFamilyDirs) {
        assertTrue(family[j] + " family dir does not exist", fs.exists(familyDir));
        assertTrue(allFamilyDirs.remove(familyDir));
      } else {
        // TODO: WARN: Modify Table/Families does not create a family dir
        if (!fs.exists(familyDir)) {
          LOG.warn(family[j] + " family dir does not exist");
        }
        allFamilyDirs.remove(familyDir);
      }
    }
    assertTrue("found extraneous families: " + allFamilyDirs, allFamilyDirs.isEmpty());
  }
  assertTrue("found extraneous regions: " + allRegionDirs, allRegionDirs.isEmpty());

  // check meta
  assertTrue(MetaTableAccessor.tableExists(master.getConnection(), tableName));
  assertEquals(regions.length, countMetaRegions(master, tableName));

  // check htd
  HTableDescriptor htd = master.getTableDescriptors().get(tableName);
  assertTrue("table descriptor not found", htd != null);
  for (int i = 0; i < family.length; ++i) {
    assertTrue("family not found " + family[i], htd.getFamily(Bytes.toBytes(family[i])) != null);
  }
  assertEquals(family.length, htd.getFamilies().size());
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:43,代码来源:MasterProcedureTestingUtility.java

示例7: testSSHCleanupDaugtherRegionsOfAbortedSplit

import org.apache.hadoop.hbase.util.FSUtils; //导入方法依赖的package包/类
@Test (timeout=300000)
public void testSSHCleanupDaugtherRegionsOfAbortedSplit() throws Exception {
  TableName table = TableName.valueOf("testSSHCleanupDaugtherRegionsOfAbortedSplit");
  try {
    HTableDescriptor desc = new HTableDescriptor(table);
    desc.addFamily(new HColumnDescriptor(Bytes.toBytes("f")));
    admin.createTable(desc);
    HTable hTable = new HTable(cluster.getConfiguration(), desc.getTableName());
    for(int i = 1; i < 5; i++) {
      Put p1 = new Put(("r"+i).getBytes());
      p1.add(Bytes.toBytes("f"), "q1".getBytes(), "v".getBytes());
      hTable.put(p1);
    }
    admin.flush(desc.getTableName());
    List<HRegion> regions = cluster.getRegions(desc.getTableName());
    int serverWith = cluster.getServerWith(regions.get(0).getRegionInfo().getRegionName());
    HRegionServer regionServer = cluster.getRegionServer(serverWith);
    cluster.getServerWith(regions.get(0).getRegionInfo().getRegionName());
    SplitTransactionImpl st = new SplitTransactionImpl(regions.get(0), Bytes.toBytes("r3"));
    st.prepare();
    st.stepsBeforePONR(regionServer, regionServer, false);
    Path tableDir =
        FSUtils.getTableDir(cluster.getMaster().getMasterFileSystem().getRootDir(),
          desc.getTableName());
    tableDir.getFileSystem(cluster.getConfiguration());
    List<Path> regionDirs =
        FSUtils.getRegionDirs(tableDir.getFileSystem(cluster.getConfiguration()), tableDir);
    assertEquals(3,regionDirs.size());
    cluster.startRegionServer();
    regionServer.kill();
    cluster.getRegionServerThreads().get(serverWith).join();
    // Wait until finish processing of shutdown
    while (cluster.getMaster().getServerManager().areDeadServersInProgress()) {
      Thread.sleep(10);
    }
    AssignmentManager am = cluster.getMaster().getAssignmentManager();
    while(am.getRegionStates().isRegionsInTransition()) {
      Thread.sleep(10);
    }
    assertEquals(am.getRegionStates().getRegionsInTransition().toString(), 0, am
        .getRegionStates().getRegionsInTransition().size());
    regionDirs =
        FSUtils.getRegionDirs(tableDir.getFileSystem(cluster.getConfiguration()), tableDir);
    assertEquals(1,regionDirs.size());
  } finally {
    TESTING_UTIL.deleteTable(table);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:49,代码来源:TestSplitTransactionOnCluster.java


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