public class LoadTestTool
extends AbstractHBaseTool
PerformanceEvaluation
, this tool validates the data written,
and supports simultaneously writing and reading the same set of keys.Modifier and Type | Field and Description |
---|---|
protected BloomType |
bloomType |
protected Cipher |
cipher |
protected CommandLine |
cmd
This will be removed as we factor out the dependency on command line
|
protected Compression.Algorithm |
compressAlgo |
protected DataBlockEncoding |
dataBlockEncodingAlgo |
static byte[][] |
DEFAULT_COLUMN_FAMILIES
Column families used by the test
|
static byte[] |
DEFAULT_COLUMN_FAMILY
Column family used by the test
|
protected static int |
DEFAULT_DATA_SIZE
The default data size if not specified
|
static int |
DEFAULT_NUM_REGIONS_PER_SERVER |
protected static int |
DEFAULT_NUM_THREADS
The number of reader/writer threads if not specified
|
protected static long |
DEFAULT_START_KEY |
protected static java.lang.String |
DEFAULT_TABLE_NAME
Table name to use of not overridden on the command line
|
protected boolean |
deferredLogFlush |
protected long |
endKey |
protected boolean |
ignoreConflicts |
protected boolean |
isBatchUpdate |
protected boolean |
isInitOnly |
protected boolean |
isMultiPut |
protected boolean |
isRead |
protected boolean |
isSkipInit |
protected boolean |
isUpdate |
protected boolean |
isWrite |
protected int |
maxColDataSize |
protected int |
maxColsPerKey |
protected int |
minColDataSize |
protected int |
minColsPerKey |
protected static java.lang.String |
NUM_TABLES |
protected int |
numUpdaterThreads |
protected int |
numWriterThreads |
protected static java.lang.String |
OPT_BATCHUPDATE |
static java.lang.String |
OPT_BLOOM |
static java.lang.String |
OPT_COLUMN_FAMILIES |
static java.lang.String |
OPT_COMPRESSION |
static java.lang.String |
OPT_DATA_BLOCK_ENCODING |
static java.lang.String |
OPT_DATA_BLOCK_ENCODING_USAGE |
static java.lang.String |
OPT_DEFERRED_LOG_FLUSH |
static java.lang.String |
OPT_DEFERRED_LOG_FLUSH_USAGE |
static java.lang.String |
OPT_ENCRYPTION |
protected static java.lang.String |
OPT_ENCRYPTION_USAGE |
static java.lang.String |
OPT_GENERATOR |
static java.lang.String |
OPT_GENERATOR_USAGE |
protected static java.lang.String |
OPT_INIT_ONLY |
static java.lang.String |
OPT_INMEMORY |
protected static java.lang.String |
OPT_KEY_WINDOW |
protected static java.lang.String |
OPT_MAX_READ_ERRORS |
static java.lang.String |
OPT_MOB_THRESHOLD |
protected static java.lang.String |
OPT_MOB_THRESHOLD_USAGE |
static java.lang.String |
OPT_MULTIGET |
static java.lang.String |
OPT_MULTIPUT |
protected static java.lang.String |
OPT_NUM_KEYS |
static java.lang.String |
OPT_NUM_REGIONS_PER_SERVER |
protected static java.lang.String |
OPT_NUM_REGIONS_PER_SERVER_USAGE |
protected static java.lang.String |
OPT_READ |
static java.lang.String |
OPT_READER |
static java.lang.String |
OPT_READER_USAGE |
static java.lang.String |
OPT_REGION_REPLICA_ID |
protected static java.lang.String |
OPT_REGION_REPLICA_ID_USAGE |
static java.lang.String |
OPT_REGION_REPLICATION |
protected static java.lang.String |
OPT_REGION_REPLICATION_USAGE |
protected static java.lang.String |
OPT_REGIONS_PER_SERVER |
protected static java.lang.String |
OPT_SKIP_INIT |
protected static java.lang.String |
OPT_START_KEY |
static java.lang.String |
OPT_TABLE_NAME |
protected static java.lang.String |
OPT_UPDATE |
static java.lang.String |
OPT_UPDATER |
static java.lang.String |
OPT_UPDATER_USAGE |
protected static java.lang.String |
OPT_USAGE_BLOOM |
protected static java.lang.String |
OPT_USAGE_COMPRESSION |
static java.lang.String |
OPT_USAGE_IN_MEMORY |
protected static java.lang.String |
OPT_USAGE_LOAD
Usage string for the load option
|
protected static java.lang.String |
OPT_USAGE_READ
Usage string for the read option
|
protected static java.lang.String |
OPT_USAGE_UPDATE
Usage string for the update option
|
protected static java.lang.String |
OPT_WRITE |
static java.lang.String |
OPT_WRITER |
static java.lang.String |
OPT_WRITER_USAGE |
protected static java.lang.String |
OPT_ZK_PARENT_NODE |
protected static java.lang.String |
OPT_ZK_QUORUM |
protected MultiThreadedReader |
readerThreads |
protected long |
startKey |
protected java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> |
thrown |
protected int |
updatePercent |
protected MultiThreadedUpdater |
updaterThreads |
protected MultiThreadedWriter |
writerThreads |
Constructor and Description |
---|
LoadTestTool() |
Modifier and Type | Method and Description |
---|---|
protected void |
addOptions() |
protected void |
applyColumnFamilyOptions(TableName tableName,
byte[][] columnFamilies)
Apply column family options such as Bloom filters, compression, and data
block encoding.
|
protected int |
doWork() |
static byte[] |
generateData(java.util.Random r,
int length) |
byte[][] |
getColumnFamilies() |
protected int |
getNumThreads(java.lang.String numThreadsStr) |
void |
initTestTable() |
protected int |
loadTable() |
static UserGroupInformation |
loginAndReturnUGI(Configuration conf,
java.lang.String username) |
static void |
main(java.lang.String[] args) |
protected void |
processOptions(CommandLine cmd) |
protected java.lang.String[] |
splitColonSeparated(java.lang.String option,
int minNumCols,
int maxNumCols) |
protected static final java.lang.String DEFAULT_TABLE_NAME
public static byte[] DEFAULT_COLUMN_FAMILY
public static final byte[][] DEFAULT_COLUMN_FAMILIES
protected static final int DEFAULT_DATA_SIZE
protected static final int DEFAULT_NUM_THREADS
protected static final java.lang.String OPT_USAGE_LOAD
protected static final java.lang.String OPT_USAGE_READ
protected static final java.lang.String OPT_USAGE_UPDATE
protected static final java.lang.String OPT_USAGE_BLOOM
protected static final java.lang.String OPT_USAGE_COMPRESSION
public static final java.lang.String OPT_DATA_BLOCK_ENCODING_USAGE
public static final java.lang.String OPT_BLOOM
public static final java.lang.String OPT_COMPRESSION
public static final java.lang.String OPT_DEFERRED_LOG_FLUSH
public static final java.lang.String OPT_DEFERRED_LOG_FLUSH_USAGE
public static final java.lang.String OPT_DATA_BLOCK_ENCODING
public static final java.lang.String OPT_INMEMORY
public static final java.lang.String OPT_USAGE_IN_MEMORY
public static final java.lang.String OPT_GENERATOR
public static final java.lang.String OPT_GENERATOR_USAGE
public static final java.lang.String OPT_WRITER
public static final java.lang.String OPT_WRITER_USAGE
public static final java.lang.String OPT_UPDATER
public static final java.lang.String OPT_UPDATER_USAGE
public static final java.lang.String OPT_READER
public static final java.lang.String OPT_READER_USAGE
protected static final java.lang.String OPT_KEY_WINDOW
protected static final java.lang.String OPT_WRITE
protected static final java.lang.String OPT_MAX_READ_ERRORS
public static final java.lang.String OPT_MULTIPUT
public static final java.lang.String OPT_MULTIGET
protected static final java.lang.String OPT_NUM_KEYS
protected static final java.lang.String OPT_READ
protected static final java.lang.String OPT_START_KEY
public static final java.lang.String OPT_TABLE_NAME
public static final java.lang.String OPT_COLUMN_FAMILIES
protected static final java.lang.String OPT_ZK_QUORUM
protected static final java.lang.String OPT_ZK_PARENT_NODE
protected static final java.lang.String OPT_SKIP_INIT
protected static final java.lang.String OPT_INIT_ONLY
protected static final java.lang.String NUM_TABLES
protected static final java.lang.String OPT_REGIONS_PER_SERVER
protected static final java.lang.String OPT_BATCHUPDATE
protected static final java.lang.String OPT_UPDATE
public static final java.lang.String OPT_ENCRYPTION
protected static final java.lang.String OPT_ENCRYPTION_USAGE
public static final java.lang.String OPT_NUM_REGIONS_PER_SERVER
protected static final java.lang.String OPT_NUM_REGIONS_PER_SERVER_USAGE
public static int DEFAULT_NUM_REGIONS_PER_SERVER
public static final java.lang.String OPT_REGION_REPLICATION
protected static final java.lang.String OPT_REGION_REPLICATION_USAGE
public static final java.lang.String OPT_REGION_REPLICA_ID
protected static final java.lang.String OPT_REGION_REPLICA_ID_USAGE
public static final java.lang.String OPT_MOB_THRESHOLD
protected static final java.lang.String OPT_MOB_THRESHOLD_USAGE
protected static final long DEFAULT_START_KEY
protected CommandLine cmd
protected MultiThreadedWriter writerThreads
protected MultiThreadedReader readerThreads
protected MultiThreadedUpdater updaterThreads
protected long startKey
protected long endKey
protected boolean isWrite
protected boolean isRead
protected boolean isUpdate
protected boolean deferredLogFlush
protected DataBlockEncoding dataBlockEncodingAlgo
protected Compression.Algorithm compressAlgo
protected BloomType bloomType
protected int numWriterThreads
protected int minColsPerKey
protected int maxColsPerKey
protected int minColDataSize
protected int maxColDataSize
protected boolean isMultiPut
protected int numUpdaterThreads
protected int updatePercent
protected boolean ignoreConflicts
protected boolean isBatchUpdate
protected boolean isSkipInit
protected boolean isInitOnly
protected Cipher cipher
protected java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> thrown
protected java.lang.String[] splitColonSeparated(java.lang.String option, int minNumCols, int maxNumCols)
protected int getNumThreads(java.lang.String numThreadsStr)
public byte[][] getColumnFamilies()
protected void applyColumnFamilyOptions(TableName tableName, byte[][] columnFamilies) throws java.io.IOException
java.io.IOException
protected void addOptions()
protected void processOptions(CommandLine cmd)
public void initTestTable() throws java.io.IOException
java.io.IOException
protected int doWork() throws java.io.IOException
java.io.IOException
protected int loadTable() throws java.io.IOException
java.io.IOException
public static byte[] generateData(java.util.Random r, int length)
public static void main(java.lang.String[] args)
public static UserGroupInformation loginAndReturnUGI(Configuration conf, java.lang.String username) throws java.io.IOException
java.io.IOException