Starts Master node, optional number of Stargate REST nodes and region slave nodes.
Base on source code from https://github.com/mesosphere/hdfs.
- Install
tar
,unzip
,wget
in your build host. Set proxy for maven / gradle and wget if needed. - Install
curl
for all hosts in cluster. $JAVA_HOME
needs to be set on the host running your HBase scheduler. This can be set through setting the environment variable on the host,export JAVA_HOME=/path/to/jre
, or specifying the environment variable in Marathon.
- Customize configuration in
conf/*-site.xml
. All configuration files updated here will be used by the scheduler and also bundled with the executors. ./bin/build-hbase
- Run
./bin/build-hbase nocompile
to skip thegradlew clean package
step and just re-bundle the binaries. 4, Run./bin/build-hbase install PATH
to extract final archive in given PATH. - To remove the project build output and downloaded binaries, run
./bin/build-hbase clean
.
NOTE: The build process builds the artifacts under the $PROJ_DIR/build
directory. A number of zip and tar files are cached under the cache
directory for faster subsequent builds. The tarball used for installation is hbase-mesos-x.x.x.tgz which contains the scheduler and the executor to be distributed.
- Install HDFS in your cluster - you can use your current hadoop distribution or run HDFS on Apache Mesos - https://github.com/jan-zajic/mesos-hdfs
- Upload
hbase-mesos-*.tgz
to a node in your Mesos cluster (which is built to$PROJ_DIR/build/hbase-mesos-x.x.x.tgz
). - Extract it with
tar zxvf hbase-mesos-*.tgz
. - Optional: Customize any additional configurations that weren't updated at compile time in
hbase-mesos-*/conf/*-site.xml
Note that if you update hbase-site.xml, it will be used by the scheduler and bundled with the executors. However, core-site.xml and mesos-site.xml will be used by the scheduler only. - Check that
hostname
on that node resolves to a non-localhost IP; update /etc/hosts if necessary.
cd hbase-mesos-*
./bin/hbase-mesos
- Check the Mesos web console to wait until all tasks are RUNNING (monitor status in JN sandboxes)
- Run ftp server on your deployment machine
cd hbase-mesos-*
- edit file
bin/hbase-mesos-marathon
and change FTP_DIR path variable to anonymous ftp root directory ./bin/hbase-mesos-marathon MARATHON_ADDRESS
- Check the Marathon web console, after that Mesos web console
- If your application is in Java, then you should use the Java API - https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/package-summary.html
- Or see REST API tutorial at https://wiki.apache.org/hadoop/Hbase/Stargate
- see client examples in files: TestConnectToHbase, TestConnectToHbaseRest