Class IntegrationTestBulkLoad
java.lang.Object
org.apache.hadoop.hbase.util.AbstractHBaseTool
org.apache.hadoop.hbase.IntegrationTestBase
org.apache.hadoop.hbase.mapreduce.IntegrationTestBulkLoad
- All Implemented Interfaces:
org.apache.hadoop.conf.Configurable,org.apache.hadoop.util.Tool
- Direct Known Subclasses:
IntegrationTestFileBasedSFTBulkLoad
Test Bulk Load and MR on a distributed cluster. 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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classComparator used to order linkKeys so that they are passed to a reducer in order.static classstatic classstatic classstatic classWritable used as the value emitted from a pass over the hbase table.static classMapper to pass over the table.static classClass that does the actual checking of the links.static classMapper that creates a linked list of KeyValues.static classWritable class used as the key to group links in the linked list.static classComparator used to figure out if a linkKey should be grouped together.static classClass to figure out what partition to send a link in the chain to.static classNested classes/interfaces inherited from class org.apache.hadoop.hbase.util.AbstractHBaseTool
org.apache.hadoop.hbase.util.AbstractHBaseTool.OptionsOrderComparator -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final byte[]private static intprivate static Stringprivate booleanprivate static final byte[]private booleanprivate static final org.slf4j.Loggerprivate static intprivate static Stringprivate static intprivate static Stringprivate static intprivate static Stringprivate static final Stringprivate static final Stringprivate static Stringprivate static final byte[]private static Stringprivate static StringFields inherited from class org.apache.hadoop.hbase.IntegrationTestBase
CHAOS_MONKEY_PROPS, monkey, MONKEY_LONG_OPT, monkeyProps, monkeyToUse, NO_CLUSTER_CLEANUP_LONG_OPT, noClusterCleanUp, utilFields inherited from class org.apache.hadoop.hbase.util.AbstractHBaseTool
cmdLineArgs, conf, EXIT_FAILURE, EXIT_SUCCESS, LONG_HELP_OPTION, options, SHORT_HELP_OPTION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidProvides the name of the CFs that are protected from random Chaos monkey activity (alter)private byte[][]getSplits(int numRegions) org.apache.hadoop.hbase.TableNameProvides the name of the table that is protected from random Chaos monkey activitystatic org.apache.hadoop.hbase.TableNamegetTableName(org.apache.hadoop.conf.Configuration conf) private voidModify tablegetTableName()to carryIntegrationTestBulkLoad.SlowMeCoproScanOperations.static voidprotected voidprocessOptions(org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine cmd) private voidrunCheck()After adding data to the table start a mr job toprivate voidprivate voidrunLinkedListMRJob(int iteration) voidrunLoad()intvoidprivate voidvoidMethods inherited from class org.apache.hadoop.hbase.IntegrationTestBase
cleanUp, cleanUpCluster, cleanUpMonkey, cleanUpMonkey, doWork, getConf, getDefaultMonkeyFactory, getTestingUtil, loadMonkeyProperties, processBaseOptions, setUp, setUpMonkey, startMonkeyMethods inherited from class org.apache.hadoop.hbase.util.AbstractHBaseTool
addOption, addOptNoArg, addOptNoArg, addOptWithArg, addOptWithArg, addRequiredOption, addRequiredOptWithArg, addRequiredOptWithArg, doStaticMain, getOptionAsDouble, getOptionAsInt, getOptionAsInt, getOptionAsLong, getOptionAsLong, newParser, parseArgs, parseInt, parseLong, printUsage, printUsage, processOldArgs, run, setConf
-
Field Details
-
LOG
-
CHAIN_FAM
-
SORT_FAM
-
DATA_FAM
-
CHAIN_LENGTH_KEY
-
CHAIN_LENGTH
-
NUM_MAPS_KEY
-
NUM_MAPS
-
NUM_IMPORT_ROUNDS_KEY
-
NUM_IMPORT_ROUNDS
-
ROUND_NUM_KEY
-
TABLE_NAME_KEY
-
TABLE_NAME
-
NUM_REPLICA_COUNT_KEY
-
NUM_REPLICA_COUNT_DEFAULT
-
OPT_LOAD
- See Also:
-
OPT_CHECK
- See Also:
-
load
-
check
-
-
Constructor Details
-
IntegrationTestBulkLoad
public IntegrationTestBulkLoad()
-
-
Method Details
-
installSlowingCoproc
Modify tablegetTableName()to carryIntegrationTestBulkLoad.SlowMeCoproScanOperations.- Throws:
IOExceptionInterruptedException
-
testBulkLoad
- Throws:
Exception
-
runLoad
- Throws:
Exception
-
getSplits
-
setupTable
- Throws:
IOExceptionInterruptedException
-
runLinkedListMRJob
- Throws:
Exception
-
runCheckWithRetry
-
runCheck
After adding data to the table start a mr job to -
setUpCluster
- Specified by:
setUpClusterin classIntegrationTestBase- Throws:
Exception
-
addOptions
- Overrides:
addOptionsin classIntegrationTestBase
-
processOptions
- Overrides:
processOptionsin classIntegrationTestBase
-
runTestFromCommandLine
- Specified by:
runTestFromCommandLinein classIntegrationTestBase- Throws:
Exception
-
getTablename
Description copied from class:IntegrationTestBaseProvides the name of the table that is protected from random Chaos monkey activity- Specified by:
getTablenamein classIntegrationTestBase- Returns:
- table to not delete.
-
getTableName
public static org.apache.hadoop.hbase.TableName getTableName(org.apache.hadoop.conf.Configuration conf) -
getColumnFamilies
Description copied from class:IntegrationTestBaseProvides the name of the CFs that are protected from random Chaos monkey activity (alter)- Specified by:
getColumnFamiliesin classIntegrationTestBase- Returns:
- set of cf names to protect.
-
main
- Throws:
Exception
-