@Override
  public void setUpCluster() throws Exception {
    util = getTestingUtil(getConf());
    util.getConfiguration().set(StoreFileTrackerFactory.TRACKER_IMPL,
      "org.apache.hadoop.hbase.regionserver.storefiletracker.FileBasedStoreFileTracker");
    util.initializeCluster(1);
    int replicaCount = getConf().getInt(NUM_REPLICA_COUNT_KEY, NUM_REPLICA_COUNT_DEFAULT);
    if (LOG.isDebugEnabled() && replicaCount != NUM_REPLICA_COUNT_DEFAULT) {
      LOG.debug("Region Replicas enabled: " + replicaCount);
    }

    // Scale this up on a real cluster
    if (util.isDistributedCluster()) {
      util.getConfiguration().setIfUnset(NUM_MAPS_KEY,
        Integer.toString(util.getAdmin().getRegionServers().size() * 10));
      util.getConfiguration().setIfUnset(NUM_IMPORT_ROUNDS_KEY, "5");
    } else {
      util.startMiniMapReduceCluster();
    }
  }
Test Bulk Load and MR on a distributed cluster. With FileBased StorefileTracker enabled. It
starts an MR job that creates linked chains The format of rows is like this: Row Key -> Long L:<<
Chain Id >> -> Row Key of the next link in the chain S:<< Chain Id >> -> The step in the chain
that his link is. D:<< Chain Id >> -> Random Data. All chains start on row 0. All rk's are > 0.
After creating the linked lists they are walked over using a TableMapper based Mapreduce Job.
There are a few options exposed: hbase.IntegrationTestBulkLoad.chainLength The number of rows
that will be part of each and every chain. hbase.IntegrationTestBulkLoad.numMaps The number of
mappers that will be run. Each mapper creates on linked list chain.
hbase.IntegrationTestBulkLoad.numImportRounds How many jobs will be run to create linked lists.
hbase.IntegrationTestBulkLoad.tableName The name of the table.
hbase.IntegrationTestBulkLoad.replicaCount How many region replicas to configure for the table
under test.
hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestFileBasedSFTBulkLoad.java