9.2.7 Apache HBase
The HBase Handler is used to populate HBase tables from existing Oracle GoldenGate supported sources.
This chapter describes how to use the HBase Handler.
- Overview
- Detailed Functionality
- Setting Up and Running the HBase Handler
- Security
- Metadata Change Events
The HBase Handler seamlessly accommodates metadata change events including adding a column or dropping a column. The only requirement is that the source trail file contains the metadata. - Additional Considerations
- Troubleshooting the HBase Handler
Troubleshooting of the HBase Handler begins with the contents for the Javalog4j
file. Follow the directions in the Java Logging Configuration to configure the runtime to correctly generate the Javalog4j
log file. - HBase Handler Client Dependencies
What are the dependencies for the HBase Handler to connect to Apache HBase databases?
Parent topic: Target
9.2.7.1 Overview
HBase is an open source Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA) application that emulates much of the functionality of a relational database management system (RDBMS). Hadoop is specifically designed to store large amounts of unstructured data. Conversely, data stored in databases and replicated through Oracle GoldenGate is highly structured. HBase provides a way to maintain the important structure of data while taking advantage of the horizontal scaling that is offered by the Hadoop Distributed File System (HDFS).
Parent topic: Apache HBase
9.2.7.2 Detailed Functionality
The HBase Handler takes operations from the source trail file and creates corresponding tables in HBase, and then loads change capture data into those tables.
HBase Table Names
Table names created in an HBase map to the corresponding table name of the operation from the source trail file. Table name is case-sensitive.
HBase Table Namespace
For two-part table names (schema name and table name), the schema name maps to the HBase table namespace. For a three-part table name like Catalog.Schema.MyTable
, the create HBase namespace would be Catalog_Schema
. HBase table namespaces are case sensitive. A null schema name is supported and maps to the default HBase namespace.
HBase Row Key
HBase has a similar concept to the database primary keys, called the HBase row key.
The HBase row key is the unique identifier for a table row. HBase only supports a
single row key per row and it cannot be empty or null. The HBase Handler maps the
primary key value into the HBase row key value. If the source table has multiple
primary keys, then the primary key values are concatenated, separated by a pipe
delimiter (|
). You can configure the HBase row key delimiter.
- If
KEYCOLS
is specified, then it constructs the key based on the specifications defined in theKEYCOLS
clause. -
If
KEYCOLS
is not specified, then it constructs a key based on the concatenation of all eligible columns of the table.
The result is that the value of every column is concatenated to generate the HBase rowkey. However, this is not a good practice.
Workaround: Use the replicat mapping statement to identify one or
more primary key columns. For example: MAP QASOURCE.TCUSTORD, TARGET
QASOURCE.TCUSTORD, KEYCOLS (CUST_CODE);
HBase Column Family
HBase has the concept of a column family. A column family is a way to group column data. Only a single column family is supported. Every HBase column must belong to a single column family. The HBase Handler provides a single column family per table that defaults to cf
. You can configure the column family name. However, after a table is created with a specific column family name, you cannot reconfigure the column family name in the HBase example, without first modifying or dropping the table results in an abend of the Oracle GoldenGateReplicat processes.
Parent topic: Apache HBase
9.2.7.3 Setting Up and Running the HBase Handler
HBase must run either collocated with the HBase Handler process or on a machine that can connect from the network that is hosting the HBase Handler process. The underlying HDFS single instance or clustered instance serving as the repository for HBase data must also run.
Instructions for configuring the HBase Handler components and running the handler are described in this topic.
Parent topic: Apache HBase
9.2.7.3.1 Classpath Configuration
For the HBase Handler to connect to HBase and stream data, the hbase-site.xml file
and the HBase client jars must be configured in gg.classpath
variable. The HBase client jars must match the version of HBase to which the HBase
Handler is connecting. The HBase client jars are not shipped with the Oracle
GoldenGate for Distributed Applications and Analytics (GG for DAA) product.
HBase Handler Client Dependencies lists the required HBase client jars by version.
The default location of the hbase-site.xml
file is HBase_Home
/conf
.
The default location of the HBase client JARs is HBase_Home
/lib/*
.
If the HBase Handler is running on Windows, then follow the Windows classpathing syntax.
The gg.classpath
must be configured exactly as described. The path to the hbase-site.xml
file must contain only the path with no wild card appended. The inclusion of the * wildcard in the path to the hbase-site.xml
file will cause it to be inaccessible. Conversely, the path to the dependency jars must include the (*) wildcard character in order to include all the jar files in that directory, in the associated classpath. Do not use *.jar
. The following is an example of a correctly configured gg.classpath
variable:
gg.classpath=/var/lib/hbase/lib/*:/var/lib/hbase/conf
Parent topic: Setting Up and Running the HBase Handler
9.2.7.3.2 HBase Handler Configuration
The following are the configurable values for the HBase Handler. These properties are located in the Java Adapter properties file (not in the Replicat properties file).
To enable the selection of the HBase Handler, you must first configure the handler type by specifying gg.handler.jdbc.type=hbase
and the other HBase properties as follows:
Table 9-9 HBase Handler Configuration Properties
Properties | Required/ Optional | Legal Values | Default | Explanation |
---|---|---|---|---|
|
Required |
Any string. |
None |
Provides a name for the HBase Handler. The HBase Handler name is then becomes part of the property names listed in this table. |
|
Required |
|
None |
Selects the HBase Handler for streaming change data capture into HBase. |
|
Optional |
Any string legal for an HBase column family name. |
|
Column family is a grouping mechanism for columns in HBase. The HBase Handler only supports a single column family. |
gg.handler.name.HBase20Compatible |
Optional | true |
false |
false ( HBase 1.0
compatible)
|
HBase 2.x removed methods and changed object
hierarchies. The result is that it broke the binary compatibility with
HBase 1.x. Set this property to true to correctly
interface with HBase 2.x, otherwise HBase 1.x compatibility is
used.
|
|
Optional |
|
|
Using |
|
Optional |
Any string. |
|
Provides a delimiter between key values in a map. For example, |
|
Optional |
Any string. |
|
Provides a delimiter between key value pairs in a map. For example, |
|
Optional |
Any encoding name or alias supported by Java.Foot 1 For a list of supported options, see |
The native system encoding of the machine hosting the Oracle GoldenGate process |
Determines the encoding of values written the HBase. HBase values are written as bytes. |
|
Optional |
|
|
Provides configuration for how the HBase Handler should handle update operations that change a primary key. Primary key operations can be problematic for the HBase Handler and require special consideration by you.
|
|
Optional |
Any string. |
|
Allows you to configure what will be sent to HBase in the case of a NULL column value. The default is |
|
Optional |
|
None |
Setting this property to |
|
Optional (Required if |
Relative or absolute path to a Kerberos |
- |
The |
|
Optional (Required if |
A legal Kerberos principal name (for example, |
- |
The Kerberos principal name for Kerberos authentication. |
|
Optional |
Any string/ |
| |
Configures the delimiter between primary key values from the source table when generating the HBase |
|
Optional |
|
|
Set to |
|
Optional |
|
|
Set to |
gg.handler.name.metaColumnsTemplate |
Optional | A legal string | None | A legal string specifying the metaColumns to be included. For more information, see Metacolumn Keywords. |
Footnote 1
See Java Internalization Support at https://docs.oracle.com/javase/8/docs/technotes/guides/intl/
.
Parent topic: Setting Up and Running the HBase Handler
9.2.7.3.3 Sample Configuration
The following is a sample configuration for the HBase Handler from the Java Adapter properties file:
gg.handlerlist=hbase gg.handler.hbase.type=hbase gg.handler.hbase.mode=tx gg.handler.hbase.hBaseColumnFamilyName=cf gg.handler.hbase.includeTokens=true gg.handler.hbase.keyValueDelimiter=CDATA[=] gg.handler.hbase.keyValuePairDelimiter=CDATA[,] gg.handler.hbase.encoding=UTF-8 gg.handler.hbase.pkUpdateHandling=abend gg.handler.hbase.nullValueRepresentation=CDATA[NULL] gg.handler.hbase.authType=none
Parent topic: Setting Up and Running the HBase Handler
9.2.7.3.4 Performance Considerations
At each transaction commit, the HBase Handler performs a flush call to flush any buffered data to the HBase region server. This must be done to maintain write durability. Flushing to the HBase region server is an expensive call and performance can be greatly improved by using the Replicat GROUPTRANSOPS
parameter to group multiple smaller transactions in the source trail file into a larger single transaction applied to HBase. You can use Replicat base-batching by adding the configuration syntax in the Replicat configuration file.
Operations from multiple transactions are grouped together into a larger transaction, and it is only at the end of the grouped transaction that transaction is committed.
Parent topic: Setting Up and Running the HBase Handler
9.2.7.4 Security
You can secure HBase connectivity using Kerberos authentication. Follow the associated documentation for the HBase release to secure the HBase cluster. The HBase Handler can connect to Kerberos secured clusters. The HBase hbase-site.xml
must be in handlers classpath with the hbase.security.authentication
property set to kerberos
and hbase.security.authorization
property set to true
.
You have to include the directory containing the HDFS core-site.xml
file in the classpath. Kerberos authentication is performed using the Hadoop UserGroupInformation
class. This class relies on the Hadoop configuration property hadoop.security.authentication
being set to kerberos
to successfully perform the kinit
command.
Additionally, you must set the following properties in the HBase Handler Java configuration file:
gg.handler.{name}.authType=kerberos gg.handler.{name}.keberosPrincipalName={legal Kerberos principal name} gg.handler.{name}.kerberosKeytabFile={path to a keytab file that contains the password for the Kerberos principal so that the Oracle GoldenGate HDFS handler can programmatically perform the Kerberos kinit operations to obtain a Kerberos ticket}.
You may encounter the inability to decrypt the Kerberos password from the keytab
file. This causes the Kerberos authentication to fall back to interactive mode which cannot work because it is being invoked programmatically. The cause of this problem is that the Java Cryptography Extension (JCE) is not installed in the Java Runtime Environment (JRE). Ensure that the JCE is loaded in the JRE, see http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html.
Parent topic: Apache HBase
9.2.7.5 Metadata Change Events
The HBase Handler seamlessly accommodates metadata change events including adding a column or dropping a column. The only requirement is that the source trail file contains the metadata.
Parent topic: Apache HBase
9.2.7.6 Additional Considerations
Classpath issues are common during the initial setup of the HBase Handler. The
typical indicators are occurrences of the
ClassNotFoundException
in the Java
log4j
log file. The HBase client jars do
not ship with Oracle GoldenGate for Distributed Applications and
Analytics (GG for DAA). You must resolve the required HBase client
jars. HBase Handler Client Dependencies includes
a list of HBase client jars for each supported version. Either the
hbase-site.xml
or one or more of the
required client JARS are not included in the classpath. For
instructions on configuring the classpath of the HBase Handler, see
Classpath Configuration.
Parent topic: Apache HBase
9.2.7.7 Troubleshooting the HBase Handler
Troubleshooting of the HBase Handler begins with the contents for the Java
log4j
file. Follow the directions in the Java Logging Configuration to
configure the runtime to correctly generate the Java log4j
log file.
- Java Classpath
- HBase Connection Properties
- Logging of Handler Configuration
- HBase Handler Delete-Insert Problem
Parent topic: Apache HBase
9.2.7.7.1 Java Classpath
Issues with the Java classpath are common. A ClassNotFoundException
in the Java log4j
log file indicates a classpath problem. You can use the Java log4j
log file to troubleshoot this issue. Setting the log level to DEBUG
logs each of the jars referenced in the gg.classpath
object to the log file. You can make sure that all of the required dependency jars are resolved by enabling DEBUG
level logging, and then searching the log file for messages like the following:
2015-09-29 13:04:26 DEBUG ConfigClassPath:74 - ...adding to classpath: url="file:/ggwork/hbase/hbase-1.0.1.1/lib/hbase-server-1.0.1.1.jar"
Parent topic: Troubleshooting the HBase Handler
9.2.7.7.2 HBase Connection Properties
The contents of the HDFS hbase-site.xml
file (including default settings) are output to the Java log4j
log file when the logging level is set to DEBUG
or TRACE
. This file shows the connection properties to HBase. Search for the following in the Java log4j
log file.
2015-09-29 13:04:27 DEBUG HBaseWriter:449 - Begin - HBase configuration object contents for connection troubleshooting. Key: [hbase.auth.token.max.lifetime] Value: [604800000].
Commonly, for the hbase-site.xml
file is not included in the classpath or the path to the hbase-site.xml
file is incorrect. In this case, the HBase Handler cannot establish a connection to HBase, and the Oracle GoldenGate process abends. The following error is reported in the Java log4j
log.
2015-09-29 12:49:29 ERROR HBaseHandler:207 - Failed to initialize the HBase handler. org.apache.hadoop.hbase.ZooKeeperConnectionException: Can't connect to ZooKeeper
Verify that the classpath correctly includes the hbase-site.xml
file and that HBase is running.
Parent topic: Troubleshooting the HBase Handler
9.2.7.7.3 Logging of Handler Configuration
The Java log4j
log file contains information on the configuration state of the HBase Handler. This information is output at the INFO
log level. The following is a sample output:
2015-09-29 12:45:53 INFO HBaseHandler:194 - **** Begin HBase Handler - Configuration Summary **** Mode of operation is set to tx. HBase data will be encoded using the native system encoding. In the event of a primary key update, the HBase Handler will ABEND. HBase column data will use the column family name [cf]. The HBase Handler will not include tokens in the HBase data. The HBase Handler has been configured to use [=] as the delimiter between keys and values. The HBase Handler has been configured to use [,] as the delimiter between key values pairs. The HBase Handler has been configured to output [NULL] for null values. Hbase Handler Authentication type has been configured to use [none]
Parent topic: Troubleshooting the HBase Handler
9.2.7.7.4 HBase Handler Delete-Insert Problem
If you are using the HBase Handler with the
gg.handler.name.setHBaseOperationTimestamp=false
configuration
property, then the source database may get out of sync with data in the HBase tables.
This is caused by the deletion of a row followed by the immediate reinsertion of the
row. HBase creates a tombstone marker for the delete that is identified by a specific
timestamp. This tombstone marker marks any row records in HBase with the same row key as
deleted that have a timestamp before or the same as the tombstone marker. This can occur
when the deleted row is immediately reinserted. The insert operation can inadvertently
have the same timestamp as the delete operation so the delete operation causes the
subsequent insert operation to incorrectly appear as deleted.
To work around this issue, you need to set the
gg.handler.name.setHbaseOperationTimestamp=true
, which does
two things:
-
Sets the timestamp for row operations in the HBase Handler.
-
Detection of a delete-insert operation that ensures that the insert operation has a timestamp that is after the insert.
The default for gg.handler.name.setHbaseOperationTimestamp
is
true
, which means that the HBase server supplies the timestamp for
a row. This prevents the HBase delete-reinsert out-of-sync problem.
Setting the row operation timestamp in the HBase Handler can have these consequences:
-
Since the timestamp is set on the client side, this could create problems if multiple applications are feeding data to the same HBase table.
-
If delete and reinsert is a common pattern in your use case, then the HBase Handler has to increment the timestamp 1 millisecond each time this scenario is encountered.
Processing cannot be allowed to get too far into the future so the HBase Handler only allows the timestamp to increment 100 milliseconds into the future before it attempts to wait the process so that the client side HBase operation timestamp and real time are back in sync. When a delete-insert is used instead of an update in the source database so this sync scenario would be quite common. Processing speeds may be affected by not allowing the HBase timestamp to go over 100 milliseconds into the future if this scenario is common.
Parent topic: Troubleshooting the HBase Handler
9.2.7.8 HBase Handler Client Dependencies
What are the dependencies for the HBase Handler to connect to Apache HBase databases?
The maven central repository artifacts for HBase databases are:
-
Maven groupId:
org.apache.hbase
-
Maven atifactId:
hbase-client
-
Maven version: the HBase version numbers listed for each section
The hbase-client-x.x.x.jar
file is not distributed with Apache HBase, nor is it mandatory to be in the classpath. The hbase-client-x.x.x.jar
file is an empty Maven project whose purpose of aggregating all of the HBase client dependencies.
- HBase 2.4.4
- HBase 2.3.3
- HBase 2.2.0
- HBase 2.1.5
- HBase 2.0.5
- HBase 1.4.10
- HBase 1.3.3
- HBase 1.2.5
- HBase 1.1.1
- HBase 1.0.1.1
Parent topic: Apache HBase
9.2.7.8.1 HBase 2.4.4
apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar audience-annotations-0.5.0.jar avro-1.7.7.jar commons-beanutils-1.9.4.jar commons-cli-1.2.jar commons-codec-1.13.jar commons-collections-3.2.2.jar commons-compress-1.19.jar commons-configuration-1.6.jar commons-crypto-1.0.0.jar commons-digester-1.8.jar commons-io-2.6.jar commons-lang-2.6.jar commons-lang3-3.9.jar commons-logging-1.1.3.jar commons-math3-3.1.1.jar commons-net-3.1.jar curator-client-2.7.1.jar curator-framework-2.7.1.jar curator-recipes-2.7.1.jar error_prone_annotations-2.3.4.jar gson-2.2.4.jar guava-11.0.2.jar hadoop-annotations-2.10.0.jar hadoop-auth-2.10.0.jar hadoop-common-2.10.0.jar hbase-client-2.4.4.jar hbase-common-2.4.4.jar hbase-hadoop2-compat-2.4.4.jar hbase-hadoop-compat-2.4.4.jar hbase-logging-2.4.4.jar hbase-metrics-2.4.4.jar hbase-metrics-api-2.4.4.jar hbase-protocol-2.4.4.jar hbase-protocol-shaded-2.4.4.jar hbase-shaded-gson-3.4.1.jar hbase-shaded-miscellaneous-3.4.1.jar hbase-shaded-netty-3.4.1.jar hbase-shaded-protobuf-3.4.1.jar htrace-core4-4.2.0-incubating.jar httpclient-4.5.2.jar httpcore-4.4.4.jar jackson-core-asl-1.9.13.jar jackson-mapper-asl-1.9.13.jar javax.activation-api-1.2.0.jar jcip-annotations-1.0-1.jar jcodings-1.0.55.jar jdk.tools-1.8.jar jetty-sslengine-6.1.26.jar joni-2.1.31.jar jsch-0.1.54.jar jsr305-3.0.0.jar log4j-1.2.17.jar metrics-core-3.2.6.jar netty-buffer-4.1.45.Final.jar netty-codec-4.1.45.Final.jar netty-common-4.1.45.Final.jar netty-handler-4.1.45.Final.jar netty-resolver-4.1.45.Final.jar netty-transport-4.1.45.Final.jar netty-transport-native-epoll-4.1.45.Final.jar netty-transport-native-unix-common-4.1.45.Final.jar nimbus-jose-jwt-4.41.1.jar paranamer-2.3.jar protobuf-java-2.5.0.jar slf4j-api-1.7.30.jar slf4j-log4j12-1.7.25.jar snappy-java-1.0.5.jar stax2-api-3.1.4.jar woodstox-core-5.0.3.jar xmlenc-0.52.jar zookeeper-3.5.7.jar zookeeper-jute-3.5.7.jar
Parent topic: HBase Handler Client Dependencies
9.2.7.8.2 HBase 2.3.3
apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar audience-annotations-0.5.0.jar avro-1.7.7.jar commons-beanutils-1.9.4.jar commons-cli-1.2.jar commons-codec-1.13.jar commons-collections-3.2.2.jar commons-compress-1.19.jar commons-configuration-1.6.jar commons-crypto-1.0.0.jar commons-digester-1.8.jar commons-io-2.6.jar commons-lang-2.6.jar commons-lang3-3.9.jar commons-logging-1.1.3.jar commons-math3-3.1.1.jar commons-net-3.1.jar curator-client-2.7.1.jar curator-framework-2.7.1.jar curator-recipes-2.7.1.jar error_prone_annotations-2.3.4.jar gson-2.2.4.jar guava-11.0.2.jar hadoop-annotations-2.10.0.jar hadoop-auth-2.10.0.jar hadoop-common-2.10.0.jar hbase-client-2.3.3.jar hbase-common-2.3.3.jar hbase-hadoop2-compat-2.3.3.jar hbase-hadoop-compat-2.3.3.jar hbase-logging-2.3.3.jar hbase-metrics-2.3.3.jar hbase-metrics-api-2.3.3.jar hbase-protocol-2.3.3.jar hbase-protocol-shaded-2.3.3.jar hbase-shaded-gson-3.3.0.jar hbase-shaded-miscellaneous-3.3.0.jar hbase-shaded-netty-3.3.0.jar hbase-shaded-protobuf-3.3.0.jar htrace-core4-4.2.0-incubating.jar httpclient-4.5.2.jar httpcore-4.4.4.jar jackson-core-asl-1.9.13.jar jackson-mapper-asl-1.9.13.jar javax.activation-api-1.2.0.jar jcip-annotations-1.0-1.jar jcodings-1.0.18.jar jdk.tools-1.8.jar
Parent topic: HBase Handler Client Dependencies
9.2.7.8.3 HBase 2.2.0
apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar audience-annotations-0.5.0.jar avro-1.7.4.jar commons-beanutils-1.7.0.jar commons-beanutils-core-1.8.0.jar commons-cli-1.2.jar commons-codec-1.10.jar commons-collections-3.2.2.jar commons-compress-1.4.1.jar commons-configuration-1.6.jar commons-crypto-1.0.0.jar commons-digester-1.8.jar commons-io-2.5.jar commons-lang-2.6.jar commons-lang3-3.6.jar commons-logging-1.1.3.jar commons-math3-3.1.1.jar commons-net-3.1.jar curator-client-2.7.1.jar curator-framework-2.7.1.jar curator-recipes-2.7.1.jar error_prone_annotations-2.3.3.jar findbugs-annotations-1.3.9-1.jar gson-2.2.4.jar guava-11.0.2.jar hadoop-annotations-2.8.5.jar hadoop-auth-2.8.5.jar hadoop-common-2.8.5.jar hamcrest-core-1.3.jar hbase-client-2.2.0.jar hbase-common-2.2.0.jar hbase-hadoop2-compat-2.2.0.jar hbase-hadoop-compat-2.2.0.jar hbase-metrics-2.2.0.jar hbase-metrics-api-2.2.0.jar hbase-protocol-2.2.0.jar hbase-protocol-shaded-2.2.0.jar hbase-shaded-miscellaneous-2.2.1.jar hbase-shaded-netty-2.2.1.jar hbase-shaded-protobuf-2.2.1.jar htrace-core4-4.2.0-incubating.jar httpclient-4.5.2.jar httpcore-4.4.4.jar jackson-core-asl-1.9.13.jar jackson-mapper-asl-1.9.13.jar jcip-annotations-1.0-1.jar jcodings-1.0.18.jar jdk.tools-1.8.jar jetty-sslengine-6.1.26.jar joni-2.1.11.jar jsch-0.1.54.jar jsr305-3.0.0.jar junit-4.12.jar log4j-1.2.17.jar metrics-core-3.2.6.jar nimbus-jose-jwt-4.41.1.jar paranamer-2.3.jar protobuf-java-2.5.0.jar slf4j-api-1.7.25.jar slf4j-log4j12-1.6.1.jar snappy-java-1.0.4.1.jar xmlenc-0.52.jar xz-1.0.jar zookeeper-3.4.10.jar
Parent topic: HBase Handler Client Dependencies
9.2.7.8.4 HBase 2.1.5
apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar audience-annotations-0.5.0.jar avro-1.7.4.jar commons-beanutils-1.7.0.jar commons-beanutils-core-1.8.0.jar commons-cli-1.2.jar commons-codec-1.10.jar commons-collections-3.2.2.jar commons-compress-1.4.1.jar commons-configuration-1.6.jar commons-crypto-1.0.0.jar commons-digester-1.8.jar commons-httpclient-3.1.jar commons-io-2.5.jar commons-lang-2.6.jar commons-lang3-3.6.jar commons-logging-1.1.3.jar commons-math3-3.1.1.jar commons-net-3.1.jar curator-client-2.7.1.jar curator-framework-2.7.1.jar curator-recipes-2.7.1.jar findbugs-annotations-1.3.9-1.jar gson-2.2.4.jar guava-11.0.2.jar hadoop-annotations-2.7.7.jar hadoop-auth-2.7.7.jar hadoop-common-2.7.7.jar hamcrest-core-1.3.jar hbase-client-2.1.5.jar hbase-common-2.1.5.jar hbase-hadoop2-compat-2.1.5.jar hbase-hadoop-compat-2.1.5.jar hbase-metrics-2.1.5.jar hbase-metrics-api-2.1.5.jar hbase-protocol-2.1.5.jar hbase-protocol-shaded-2.1.5.jar hbase-shaded-miscellaneous-2.1.0.jar hbase-shaded-netty-2.1.0.jar hbase-shaded-protobuf-2.1.0.jar htrace-core-3.1.0-incubating.jar htrace-core4-4.2.0-incubating.jar httpclient-4.2.5.jar httpcore-4.2.4.jar jackson-annotations-2.9.0.jar jackson-core-2.9.2.jar jackson-core-asl-1.9.13.jar jackson-databind-2.9.2.jar jackson-mapper-asl-1.9.13.jar jcodings-1.0.18.jar jdk.tools-1.8.jar jetty-sslengine-6.1.26.jar joni-2.1.11.jar jsch-0.1.54.jar jsr305-3.0.0.jar junit-4.12.jar log4j-1.2.17.jar metrics-core-3.2.6.jar paranamer-2.3.jar protobuf-java-2.5.0.jar slf4j-api-1.7.25.jar slf4j-log4j12-1.6.1.jar snappy-java-1.0.4.1.jar xmlenc-0.52.jar xz-1.0.jar zookeeper-3.4.10.jar
Parent topic: HBase Handler Client Dependencies
9.2.7.8.5 HBase 2.0.5
apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar audience-annotations-0.5.0.jar avro-1.7.4.jar commons-beanutils-1.7.0.jar commons-beanutils-core-1.8.0.jar commons-cli-1.2.jar commons-codec-1.10.jar commons-collections-3.2.2.jar commons-compress-1.4.1.jar commons-configuration-1.6.jar commons-crypto-1.0.0.jar commons-digester-1.8.jar commons-httpclient-3.1.jar commons-io-2.5.jar commons-lang-2.6.jar commons-lang3-3.6.jar commons-logging-1.1.3.jar commons-math3-3.1.1.jar commons-net-3.1.jar curator-client-2.7.1.jar curator-framework-2.7.1.jar curator-recipes-2.7.1.jar findbugs-annotations-1.3.9-1.jar gson-2.2.4.jar guava-11.0.2.jar hadoop-annotations-2.7.7.jar hadoop-auth-2.7.7.jar hadoop-common-2.7.7.jar hamcrest-core-1.3.jar hbase-client-2.0.5.jar hbase-common-2.0.5.jar hbase-hadoop2-compat-2.0.5.jar hbase-hadoop-compat-2.0.5.jar hbase-metrics-2.0.5.jar hbase-metrics-api-2.0.5.jar hbase-protocol-2.0.5.jar hbase-protocol-shaded-2.0.5.jar hbase-shaded-miscellaneous-2.1.0.jar hbase-shaded-netty-2.1.0.jar hbase-shaded-protobuf-2.1.0.jar htrace-core4-4.2.0-incubating.jar httpclient-4.2.5.jar httpcore-4.2.4.jar jackson-annotations-2.9.0.jar jackson-core-2.9.2.jar jackson-core-asl-1.9.13.jar jackson-databind-2.9.2.jar jackson-mapper-asl-1.9.13.jar jcodings-1.0.18.jar jdk.tools-1.8.jar jetty-sslengine-6.1.26.jar joni-2.1.11.jar jsch-0.1.54.jar jsr305-3.0.0.jar junit-4.12.jar log4j-1.2.17.jar metrics-core-3.2.1.jar paranamer-2.3.jar protobuf-java-2.5.0.jar slf4j-api-1.7.25.jar slf4j-log4j12-1.6.1.jar snappy-java-1.0.4.1.jar xmlenc-0.52.jar xz-1.0.jar zookeeper-3.4.10.jar
Parent topic: HBase Handler Client Dependencies
9.2.7.8.6 HBase 1.4.10
activation-1.1.jar apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar avro-1.7.7.jar commons-beanutils-1.7.0.jar commons-beanutils-core-1.8.0.jar commons-cli-1.2.jar commons-codec-1.9.jar commons-collections-3.2.2.jar commons-compress-1.4.1.jar commons-configuration-1.6.jar commons-digester-1.8.jar commons-httpclient-3.1.jar commons-io-2.4.jar commons-lang-2.6.jar commons-logging-1.2.jar commons-math3-3.1.1.jar commons-net-3.1.jar curator-client-2.7.1.jar curator-framework-2.7.1.jar curator-recipes-2.7.1.jar findbugs-annotations-1.3.9-1.jar gson-2.2.4.jar guava-12.0.1.jar hadoop-annotations-2.7.4.jar hadoop-auth-2.7.4.jar hadoop-common-2.7.4.jar hadoop-mapreduce-client-core-2.7.4.jar hadoop-yarn-api-2.7.4.jar hadoop-yarn-common-2.7.4.jar hamcrest-core-1.3.jar hbase-annotations-1.4.10.jar hbase-client-1.4.10.jar hbase-common-1.4.10.jar hbase-protocol-1.4.10.jar htrace-core-3.1.0-incubating.jar httpclient-4.2.5.jar httpcore-4.2.4.jar jackson-core-asl-1.9.13.jar jackson-mapper-asl-1.9.13.jar jaxb-api-2.2.2.jar jcodings-1.0.8.jar jdk.tools-1.8.jar jetty-sslengine-6.1.26.jar jetty-util-6.1.26.jar joni-2.1.2.jar jsch-0.1.54.jar jsr305-3.0.0.jar junit-4.12.jar log4j-1.2.17.jar metrics-core-2.2.0.jar netty-3.6.2.Final.jar netty-all-4.1.8.Final.jar paranamer-2.3.jar protobuf-java-2.5.0.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar snappy-java-1.0.5.jar stax-api-1.0-2.jar xmlenc-0.52.jar xz-1.0.jar zookeeper-3.4.10.jar
Parent topic: HBase Handler Client Dependencies
9.2.7.8.7 HBase 1.3.3
activation-1.1.jar apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar avro-1.7.4.jar commons-beanutils-1.7.0.jar commons-beanutils-core-1.8.0.jar commons-cli-1.2.jar commons-codec-1.9.jar commons-collections-3.2.2.jar commons-compress-1.4.1.jar commons-configuration-1.6.jar commons-digester-1.8.jar commons-el-1.0.jar commons-httpclient-3.1.jar commons-io-2.4.jar commons-lang-2.6.jar commons-logging-1.2.jar commons-math3-3.1.1.jar commons-net-3.1.jar findbugs-annotations-1.3.9-1.jar guava-12.0.1.jar hadoop-annotations-2.5.1.jar hadoop-auth-2.5.1.jar hadoop-common-2.5.1.jar hadoop-mapreduce-client-core-2.5.1.jar hadoop-yarn-api-2.5.1.jar hadoop-yarn-common-2.5.1.jar hamcrest-core-1.3.jar hbase-annotations-1.3.3.jar hbase-client-1.3.3.jar hbase-common-1.3.3.jar hbase-protocol-1.3.3.jar htrace-core-3.1.0-incubating.jar httpclient-4.2.5.jar httpcore-4.2.4.jar jackson-core-asl-1.9.13.jar jackson-mapper-asl-1.9.13.jar jaxb-api-2.2.2.jar jcodings-1.0.8.jar jdk.tools-1.6.jar jetty-util-6.1.26.jar joni-2.1.2.jar jsch-0.1.42.jar jsr305-1.3.9.jar junit-4.12.jar log4j-1.2.17.jar metrics-core-2.2.0.jar netty-3.6.2.Final.jar netty-all-4.0.50.Final.jar paranamer-2.3.jar protobuf-java-2.5.0.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar snappy-java-1.0.4.1.jar stax-api-1.0-2.jar xmlenc-0.52.jar xz-1.0.jar zookeeper-3.4.6.jar
Parent topic: HBase Handler Client Dependencies
9.2.7.8.8 HBase 1.2.5
activation-1.1.jar apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar avro-1.7.4.jar commons-beanutils-1.7.0.jar commons-beanutils-core-1.8.0.jar commons-cli-1.2.jar commons-codec-1.9.jar commons-collections-3.2.2.jar commons-compress-1.4.1.jar commons-configuration-1.6.jar commons-digester-1.8.jar commons-el-1.0.jar commons-httpclient-3.1.jar commons-io-2.4.jar commons-lang-2.6.jar commons-logging-1.2.jar commons-math3-3.1.1.jar commons-net-3.1.jar findbugs-annotations-1.3.9-1.jar guava-12.0.1.jar hadoop-annotations-2.5.1.jar hadoop-auth-2.5.1.jar hadoop-common-2.5.1.jar hadoop-mapreduce-client-core-2.5.1.jar hadoop-yarn-api-2.5.1.jar hadoop-yarn-common-2.5.1.jar hamcrest-core-1.3.jar hbase-annotations-1.2.5.jar hbase-client-1.2.5.jar hbase-common-1.2.5.jar hbase-protocol-1.2.5.jar htrace-core-3.1.0-incubating.jar httpclient-4.2.5.jar httpcore-4.2.4.jar jackson-core-asl-1.9.13.jar jackson-mapper-asl-1.9.13.jar jaxb-api-2.2.2.jar jcodings-1.0.8.jar jdk.tools-1.6.jar jetty-util-6.1.26.jar joni-2.1.2.jar jsch-0.1.42.jar jsr305-1.3.9.jar junit-4.12.jar log4j-1.2.17.jar metrics-core-2.2.0.jar netty-3.6.2.Final.jar netty-all-4.0.23.Final.jar paranamer-2.3.jar protobuf-java-2.5.0.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar snappy-java-1.0.4.1.jar stax-api-1.0-2.jar xmlenc-0.52.jar xz-1.0.jar zookeeper-3.4.6.jar
Parent topic: HBase Handler Client Dependencies
9.2.7.8.9 HBase 1.1.1
HBase 1.1.1 is effectively the same as HBase 1.1.0.1. You can substitute 1.1.0.1 in the libraries that are versioned as 1.1.1.
activation-1.1.jar apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar avro-1.7.4.jar commons-beanutils-1.7.0.jar commons-beanutils-core-1.8.0.jar commons-cli-1.2.jar commons-codec-1.9.jar commons-collections-3.2.1.jar commons-compress-1.4.1.jar commons-configuration-1.6.jar commons-digester-1.8.jar commons-el-1.0.jar commons-httpclient-3.1.jar commons-io-2.4.jar commons-lang-2.6.jar commons-logging-1.2.jar commons-math3-3.1.1.jar commons-net-3.1.jar findbugs-annotations-1.3.9-1.jar guava-12.0.1.jar hadoop-annotations-2.5.1.jar hadoop-auth-2.5.1.jar hadoop-common-2.5.1.jar hadoop-mapreduce-client-core-2.5.1.jar hadoop-yarn-api-2.5.1.jar hadoop-yarn-common-2.5.1.jar hamcrest-core-1.3.jar hbase-annotations-1.1.1.jar hbase-client-1.1.1.jar hbase-common-1.1.1.jar hbase-protocol-1.1.1.jar htrace-core-3.1.0-incubating.jar httpclient-4.2.5.jar httpcore-4.2.4.jar jackson-core-asl-1.9.13.jar jackson-mapper-asl-1.9.13.jar jaxb-api-2.2.2.jar jcodings-1.0.8.jar jdk.tools-1.7.jar jetty-util-6.1.26.jar joni-2.1.2.jar jsch-0.1.42.jar jsr305-1.3.9.jar junit-4.11.jar log4j-1.2.17.jar netty-3.6.2.Final.jar netty-all-4.0.23.Final.jar paranamer-2.3.jar protobuf-java-2.5.0.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar snappy-java-1.0.4.1.jar stax-api-1.0-2.jar xmlenc-0.52.jar xz-1.0.jar zookeeper-3.4.6.jar
Parent topic: HBase Handler Client Dependencies
9.2.7.8.10 HBase 1.0.1.1
activation-1.1.jar apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar avro-1.7.4.jar commons-beanutils-1.7.0.jar commons-beanutils-core-1.8.0.jar commons-cli-1.2.jar commons-codec-1.9.jar commons-collections-3.2.1.jar commons-compress-1.4.1.jar commons-configuration-1.6.jar commons-digester-1.8.jar commons-el-1.0.jar commons-httpclient-3.1.jar commons-io-2.4.jar commons-lang-2.6.jar commons-logging-1.2.jar commons-math3-3.1.1.jar commons-net-3.1.jar findbugs-annotations-1.3.9-1.jar guava-12.0.1.jar hadoop-annotations-2.5.1.jar hadoop-auth-2.5.1.jar hadoop-common-2.5.1.jar hadoop-mapreduce-client-core-2.5.1.jar hadoop-yarn-api-2.5.1.jar hadoop-yarn-common-2.5.1.jar hamcrest-core-1.3.jar hbase-annotations-1.0.1.1.jar hbase-client-1.0.1.1.jar hbase-common-1.0.1.1.jar hbase-protocol-1.0.1.1.jar htrace-core-3.1.0-incubating.jar httpclient-4.2.5.jar httpcore-4.2.4.jar jackson-core-asl-1.8.8.jar jackson-mapper-asl-1.8.8.jar jaxb-api-2.2.2.jar jcodings-1.0.8.jar jdk.tools-1.7.jar jetty-util-6.1.26.jar joni-2.1.2.jar jsch-0.1.42.jar jsr305-1.3.9.jar junit-4.11.jar log4j-1.2.17.jar netty-3.6.2.Final.jar netty-all-4.0.23.Final.jar paranamer-2.3.jar protobuf-java-2.5.0.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar snappy-java-1.0.4.1.jar stax-api-1.0-2.jar xmlenc-0.52.jar xz-1.0.jar zookeeper-3.4.6.jar
Parent topic: HBase Handler Client Dependencies