Deploying GeoMesa HBase on Cloudera CDH 5.XΒΆ


Ensure that the CDH version you are using contains a compatible version of HBase. As of this writing, the latest CDH release is 5.16.x containing HBase 1.2, which is no longer supported by GeoMesa.


In the following commands, replace ${VERSION} with the appropriate GeoMesa and Scala versions (e.g. 2.12-3.3.0)

  • Download and extract the GeoMesa HBase distribution, as detailed in Setting up the HBase Command Line Tools. In the following steps, GEOMESA_HBASE_HOME refers to the extracted directory geomesa-hbase_${VERSION}/.

  • Unpack, and add/modify GeoMesa environment variables in the files $GEOMESA_HBASE_HOME/conf/* :

setvar HADOOP_HOME /opt/cloudera/parcels/CDH/lib/hadoop
setvar HADOOP_CONF_DIR /etc/hadoop/conf


setvar HADOOP_COMMON_HOME /opt/cloudera/parcels/CDH/lib/hadoop
setvar HADOOP_HDFS_HOME /opt/cloudera/parcels/CDH/lib/hadoop-hdfs
setvar YARN_HOME /opt/cloudera/parcels/CDH/lib/hadoop-yarn
setvar HADOOP_MAPRED_HOME /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce

setvar ZOOKEEPER_HOME /opt/cloudera/parcels/CDH/lib/zookeeper
  • Copy $GEOMESA_HBASE_HOME/dist/hbase/geomesa-hbase-distributed-runtime_$VERSION.jar to HDFS under hdfs:///hbase/lib

  • Create geomesa-site.xml under $GEOMESA_HBASE_HOME/conf and add (change [name_node] to your HDFS name node hostname, and set your GeoMesa version, e.g 2.12-3.3.0):

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <description>HDFS or local path to GeoMesa-HBase Coprocessor JAR. If a local path is provided it must be
      the same for all region servers. A path provided through the DataStore parameters will always
      override this property.
  • Symlink hbase-site.xml to the GeoMesa conf dir:

ln -s /etc/hbase/conf.cloudera.hbase/hbase-site.xml $GEOMESA_HBASE_HOME/conf/hbase-site.xml
  • Modify $GEOMESA_HBASE_HOME/conf/ to set hbase_version to 1.2.0 at the top of the script.

  • Run the script, which will download JARs to the lib folder:

  • Add additional JARs from CDH HBase to the GeoMesa classpath:

ln -s /opt/cloudera/parcels/CDH/lib/hbase/lib/metrics-core-2.2.0.jar \
ln -s /opt/cloudera/parcels/CDH/lib/hbase/lib/htrace-core-3.2.0-incubating.jar \
  • All Set! Test client tools by ingesting the provided example data:

$GEOMESA_HBASE_HOME/bin/geomesa-hbase ingest -c example-csv -s example-csv \
  -C example-csv $GEOMESA_HBASE_HOME/examples/ingest/csv/example.csv