在Cloudera CDH 5.X上部署GeoMesa HBase

警告

确保您使用的CDH版本包含兼容版本的HBase。在撰写本文时,最新的CDH版本是5.16.x,其中包含不再受GeoMesa支持的HBase 1.2。

备注

在以下命令中,替换 ${VERSION} 使用适当的GeoMesa和Scala版本(例如 2.12-4.0.2 )

  • 下载并解压缩GeoMesa HBase发行版,如中所述 设置HBase命令行工具 。在以下步骤中, GEOMESA_HBASE_HOME 指的是解压缩的目录 geomesa-hbase_${VERSION}/

  • 解压并添加/修改文件中的GeoMesa环境变量 $GEOMESA_HBASE_HOME/conf/*-env.sh

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

hadoopCDH="1"

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
  • 复制 $GEOMESA_HBASE_HOME/dist/hbase/geomesa-hbase-distributed-runtime_$VERSION.jar 到HDFS下的 hdfs:///hbase/lib

  • 创建 geomesa-site.xml 在……下面 $GEOMESA_HBASE_HOME/conf 和ADD(更改 [name_node] 设置为您的HDFS名称节点主机名,并设置您的GeoMesa版本,例如 2.12-4.0.2 ):

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

<configuration>
<property>
    <name>geomesa.hbase.coprocessor.path</name>
    <value>hdfs://[name_node]:8020/hbase/lib/geomesa-hbase-distributed-runtime_${VERSION}.jar</value>
    <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.
    </description>
    <final>false</final>
</property>
</configuration>
  • 符号链接 hbase-site.xml 到GeoMesa conf目录:

ln -s /etc/hbase/conf.cloudera.hbase/hbase-site.xml $GEOMESA_HBASE_HOME/conf/hbase-site.xml
  • 修改 $GEOMESA_HBASE_HOME/conf/dependencies.sh 要设置 hbase_version1.2.0 在剧本的顶端。

  • 运行 install-dependencies.sh 脚本,该脚本将JAR下载到 lib 文件夹:

$GEOMESA_HBASE_HOME/bin/install-dependencies.sh
  • 在GeoMesa类路径中添加来自CDH HBase的额外JAR:

ln -s /opt/cloudera/parcels/CDH/lib/hbase/lib/metrics-core-2.2.0.jar \
  $GEOMESA_HBASE_HOME/lib/metrics-core-2.2.0.jar;
ln -s /opt/cloudera/parcels/CDH/lib/hbase/lib/htrace-core-3.2.0-incubating.jar \
  $GEOMESA_HBASE_HOME/lib/htrace-core-3.2.0-incubating.jar;
  • 都准备好了!通过获取提供的示例数据来测试客户端工具:

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