appConfig-default.json and resources-default.json are not required to be packaged. These files are included as reference configuration for Slider apps and are suitable for a one-node cluster.
OPTION-I: Use a downloaded tarball OPTION-II: Use the tarball from the local repository
Note: Post 0.94 versions of hbase, tarball filenames have a -bin suffix (e.g. hbase-0.98.10.1-hadoop2-bin.tar.gz), although the untarred top level directory does not (e.g hbase-0.98.10.1-hadoop2). We suggest renaming the tar ball file to remove the -bin suffix before proceeding with either of the below options (e.g. hbase-0.98.10.1-hadoop2.tar.gz). In fact all the mvn commands below assumes you have done so, or else app create will fail.
To create the app package you will need the HBase tarball and invoke mvn command with appropriate parameters.
Command:
mvn clean package -Phbase-app-package -Dhbase.version=<hbase version> -Dpkg.version=<app package version> -Dpkg.name=<file name of app tarball> -Dpkg.src=<folder location where the pkg is available>
Example:
mvn clean package -Phbase-app-package -Dhbase.version=0.98.5-hadoop2 -Dpkg.version=0.98.5-hadoop2 -Dpkg.name=hbase-0.98.5-hadoop2.tar.gz -Dpkg.src=/Users/user1/Downloads/0.98.5-hadoop2
App package can be found in
app-packages/hbase/target/slider-hbase-app-package-${slider.version}.zip
You need the HBase version available on local maven repo to create the Slider App Package for HBase.
Download the tarball for HBase: e.g. path to tarball ~/Downloads/hbase-0.98.3-hadoop2.tar.gz
Note for Phoenix user: If you want Phoenix to be deployed, you should repackage HBase tarball such that phoenix-server.jar is contained in the lib directory of the tarball. e.g. for hbase-0.98.4.2.2.0.0-1799-hadoop2.tar.gz, phoenix-server.jar should be copied to: hbase-0.98.4.2.2.0.0-1799-hadoop2/lib
For Phoenix 4.4 and above, you need to specify “org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory” for “site.hbase-site.hbase.region.server.rpc.scheduler.factory.class”. Also add “org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory” for “site.hbase-site.hbase.rpc.controllerfactory.class”
The version of HBase used for the app package can be adjusted by adding a flag such as
-Dhbase.version=0.98.3-hadoop2
Use the following command to install HBase tarball locally (under local workspace of HBase repo):
mvn install:install-file -Dfile=<path-to-tarball> -DgroupId=org.apache.hbase -DartifactId=hbase -Dversion=0.98.3-hadoop2 -Dclassifier=bin -Dpackaging=tar.gz
You may need to copy the hbase tarball to the following location if the above step doesn't publish the tarball:
~/.m2/repository/org/apache/hbase/hbase/0.98.3-hadoop2/
After HBase tarball is published locally in maven repository, you can use the following command:
mvn clean package -DskipTests -Phbase-app-package
App package can be found in
app-packages/hbase/target/apache-slider-hbase-${hbase.version}-app-package-${slider.version}.zip
If an HBase version older than 0.98.3 is desired, it must be installed in the local maven repo.
A less descriptive file name can be specified with
-Dapp.package.name=HBase_98dot3 which would create a file HBase_98dot3.zip.
Verify the content using
zip -Tv apache-slider-hbase-*.zip
The HBase app package provides scripts to assist in client interactions with an HBase instance running on Slider. These can be extracted to the HBase bin directory as follows.
unzip slider-hbase-app-package*zip hbase-slider unzip slider-hbase-app-package*zip hbase-wrapper.py
The dir will then contain an HBase client that can be used to connect to the cluster.
Example of command that invokes HBase shell is:
SLIDER_HOME=</path/to/slider> ./hbase-slider <clusterName>