public class HBaseStoreManager extends DistributedStoreManager implements KeyColumnValueStoreManager, CustomizeStoreKCVSManager
DistributedStoreManager.Deployment, DistributedStoreManager.MaskedTimestamp| Modifier and Type | Field and Description |
|---|---|
static ConfigOption<String> |
COMPAT_CLASS
If this key is present in either the JVM system properties or the process
environment (checked in the listed order, first hit wins), then its value
must be the full package and class name of an implementation of
HBaseCompat that has a no-arg public constructor. |
static ConfigOption<String> |
COMPRESSION |
static String |
COMPRESSION_DEFAULT |
static ConfigNamespace |
HBASE_CONFIGURATION_NAMESPACE |
static ConfigNamespace |
HBASE_NS |
static ConfigOption<String> |
HBASE_TABLE |
static int |
MIN_REGION_COUNT
Related bug fixed in 0.98.0, 0.94.7, 0.95.0:
https://issues.apache.org/jira/browse/HBASE-8170
|
static int |
PORT_DEFAULT |
static Timestamps |
PREFERRED_TIMESTAMPS |
static ConfigOption<Integer> |
REGION_COUNT
The total number of HBase regions to create with Titan's table.
|
static ConfigOption<Integer> |
REGIONS_PER_SERVER
This setting is used only when
REGION_COUNT is unset. |
static ConfigOption<Boolean> |
SHORT_CF_NAMES |
static ConfigOption<Boolean> |
SKIP_SCHEMA_CHECK |
connectionTimeoutMS, hostnames, pageSize, password, port, times, usernamebatchLoading, isReadOnly, storageConfig, transactional| Constructor and Description |
|---|
HBaseStoreManager(Configuration config) |
| Modifier and Type | Method and Description |
|---|---|
StoreTransaction |
beginTransaction(BaseTransactionConfig config) |
void |
clearStorage()
Deletes the specified table with all its columns.
|
void |
close() |
void |
dumpOpenManagers() |
DistributedStoreManager.Deployment |
getDeployment() |
StoreFeatures |
getFeatures() |
List<KeyRange> |
getLocalKeyPartition() |
String |
getName() |
void |
mutateMany(Map<String,Map<StaticBuffer,KCVMutation>> mutations,
StoreTransaction txh) |
KeyColumnValueStore |
openDatabase(String longName) |
KeyColumnValueStore |
openDatabase(String longName,
int ttlInSeconds) |
String |
toString() |
getPageSize, getSingleHostname, getTimestampProvider, hasAuthentication, sleepAfterWritegetMetaDataSchema, getStorageConfigpublic static final ConfigNamespace HBASE_NS
public static final ConfigOption<Boolean> SHORT_CF_NAMES
public static final String COMPRESSION_DEFAULT
public static final ConfigOption<String> COMPRESSION
public static final ConfigOption<Boolean> SKIP_SCHEMA_CHECK
public static final ConfigOption<String> HBASE_TABLE
public static final int MIN_REGION_COUNT
public static final ConfigOption<Integer> REGION_COUNT
public static final ConfigOption<Integer> REGIONS_PER_SERVER
REGION_COUNT is unset.
If Titan's HBase table does not exist, then it will be created with total
region count = (number of servers reported by ClusterStatus) * (this
value).
The Apache HBase manual suggests an order-of-magnitude range of potential
values for this setting:
What's the optimal number of pre-split regions to create? Mileage will vary depending upon your application. You could start low with 10 pre-split regions / server and watch as data grows over time. It's better to err on the side of too little regions and rolling split later.
In general, HBase is designed to run with a small (20-200) number of relatively large (5-20Gb) regions per server... Typically you want to keep your region count low on HBase for numerous reasons. Usually right around 100 regions per RegionServer has yielded the best results.
public static final ConfigOption<String> COMPAT_CLASS
HBaseCompat that has a no-arg public constructor.
When this is not set, Titan attempts to automatically detect the
HBase runtime version by calling VersionInfo.getVersion(). Titan
then checks the returned version string against a hard-coded list of
supported version prefixes and instantiates the associated compat layer
if a match is found.
When this is set, Titan will not call
VersionInfo.getVersion() or read its hard-coded list of supported
version prefixes. Titan will instead attempt to instantiate the class
specified (via the no-arg constructor which must exist) and then attempt
to cast it to HBaseCompat and use it as such. Titan will assume the
supplied implementation is compatible with the runtime HBase version and
make no attempt to verify that assumption.
Setting this key incorrectly could cause runtime exceptions at best or
silent data corruption at worst. This setting is intended for users
running exotic HBase implementations that don't support VersionInfo or
implementations which return values from VersionInfo.getVersion()
that are inconsistent with Apache's versioning convention. It may also be
useful to users who want to run against a new release of HBase that Titan
doesn't yet officially support.
public static final int PORT_DEFAULT
public static final Timestamps PREFERRED_TIMESTAMPS
public static final ConfigNamespace HBASE_CONFIGURATION_NAMESPACE
public HBaseStoreManager(Configuration config) throws BackendException
BackendExceptionpublic DistributedStoreManager.Deployment getDeployment()
getDeployment in class DistributedStoreManagerpublic String toString()
toString in class DistributedStoreManagerpublic void dumpOpenManagers()
public void close()
close in interface StoreManagerpublic StoreFeatures getFeatures()
getFeatures in interface StoreManagerpublic void mutateMany(Map<String,Map<StaticBuffer,KCVMutation>> mutations, StoreTransaction txh) throws BackendException
mutateMany in interface KeyColumnValueStoreManagerBackendExceptionpublic KeyColumnValueStore openDatabase(String longName) throws BackendException
openDatabase in interface KeyColumnValueStoreManagerBackendExceptionpublic KeyColumnValueStore openDatabase(String longName, int ttlInSeconds) throws BackendException
openDatabase in interface CustomizeStoreKCVSManagerBackendExceptionpublic StoreTransaction beginTransaction(BaseTransactionConfig config) throws BackendException
beginTransaction in interface StoreManagerBackendExceptionpublic String getName()
getName in interface StoreManagerpublic void clearStorage()
throws BackendException
clearStorage in interface StoreManagerBackendExceptionpublic List<KeyRange> getLocalKeyPartition() throws BackendException
getLocalKeyPartition in interface StoreManagerBackendExceptionCopyright © 2012–2015. All rights reserved.