Skip to content

jan-zajic/mesos-hbase

Repository files navigation

HBase on Apache Mesos

Starts Master node, optional number of Stargate REST nodes and region slave nodes.

Base on source code from https://github.com/mesosphere/hdfs.

Prerequisites

  1. Install tar, unzip, wget in your build host. Set proxy for maven / gradle and wget if needed.
  2. Install curl for all hosts in cluster.
  3. $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.

Building HBase-Mesos

  1. Customize configuration in conf/*-site.xml. All configuration files updated here will be used by the scheduler and also bundled with the executors.
  2. ./bin/build-hbase
  3. Run ./bin/build-hbase nocompile to skip the gradlew clean package step and just re-bundle the binaries. 4, Run ./bin/build-hbase install PATH to extract final archive in given PATH.
  4. 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.

Installing HBase-Mesos on your Cluster

  1. 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
  2. Upload hbase-mesos-*.tgz to a node in your Mesos cluster (which is built to $PROJ_DIR/build/hbase-mesos-x.x.x.tgz).
  3. Extract it with tar zxvf hbase-mesos-*.tgz.
  4. 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.
  5. Check that hostname on that node resolves to a non-localhost IP; update /etc/hosts if necessary.

Starting HBase-Mesos scheduler standalone

  1. cd hbase-mesos-*
  2. ./bin/hbase-mesos
  3. Check the Mesos web console to wait until all tasks are RUNNING (monitor status in JN sandboxes)

Starting HBase-Mesos scheduler using marathon

  1. Run ftp server on your deployment machine
  2. cd hbase-mesos-*
  3. edit file bin/hbase-mesos-marathon and change FTP_DIR path variable to anonymous ftp root directory
  4. ./bin/hbase-mesos-marathon MARATHON_ADDRESS
  5. Check the Marathon web console, after that Mesos web console

Using HBase

About

Apache HBase on Apache Mesos

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 10