# 前言

GeoMesa 是一个运行在分布式计算系统上,支持大规模时空矢量数据查询和分析的开源工具。

# 下载

GitHub 上下载最新的发行版本,上传至服务器,并解压到相关目录

# 配置环境变量

注意把路径替换成自己的路径

export HADOOP_HOME=/path/to/hadoop
export HBASE_HOME=/path/to/hbase
export GEOMESA_HBASE_HOME=/opt/geomesa
export PATH="${PATH}:${GEOMESA_HOME}/bin"

GeoMesa 推荐在 geomesa-hbase_2.11-$VERSION/conf/geomesa-env.sh 文件中设置以上环境变量,也可以在 .bashrc 或 /etc/profile 中设置

# 下载依赖插件

由于许可的原因,需要手动执行以下命令,安装两个插件:

[root@hadoop02 geomesa-hbase_2.11-2.4.1]# bin/install-jai.sh
[root@hadoop02 geomesa-hbase_2.11-2.4.1]# bin/install-jline.sh

如果因为网络原因一直下载不成功,可以按照控制台打印的网址手动下载,然后上传到 lib 目录下

# 部署 jar 包

GeoMesa for HBase 需要使用本地过滤器来加速查询,因此需要将 GeoMesa 的 runtime JAR 包,拷贝到 HBase 的库目录下

[root@hadoop02 geomesa-hbase_2.11-2.4.1]# cp dist/hbase/geomesa-hbase-distributed-runtime_2.11-2.4.1.jar /opt/module/hbase-1.3.1/lib/

注意:如果是分布式环境,需要将其复制到每一个节点。

[root@hadoop02 geomesa-hbase_2.11-2.4.1]# xsync /opt/module/hbase-1.3.1/lib/geomesa-hbase-distributed-runtime_2.11-2.4.1.jar

# 注册协处理器

注册的过程其实就是使 HBase 在运行时能够访问到 geomesa-hbase-distributed-runtime 的 jar 包。官网给出了几种方法实现这一目标,最方便的是在 HBase 的配置文件 hbase-site.xml 添加如下内容

<property>
    <name>hbase.coprocessor.user.region.classes</name>
    <value>org.locationtech.geomesa.hbase.coprocessor.GeoMesaCoprocessor</value>
</property>

注意:如果是分布式环境,需要在每一个节点都添加相同的内容。

[root@hadoop02 hbase-1.3.1]# xsync conf/hbase-site.xml

# 设置命令行工具

在完成以上设置后,GeoMesa 的主要部分就安装完成了。可以使用 bin/geomesa-hbase 命令调用 GeoMesa 的命令行工具,执行一系列的功能。

这里要额外设置的是使用如下命令,将 HBase 配置文件 hbase-site.xml 打包进 geomesa-hbase-datastore_2.11-$VERSION.jar 中

[root@hadoop02 geomesa-hbase_2.11-2.4.1]# zip -r lib/geomesa-hbase-datastore_2.11-2.4.1.jar /opt/module/hbase-1.3.1/conf/hbase-site.xml

这一步的目的是确保在 MapReduce 任务中,GeoMesa 能够顺利访问到该文件。

下一篇会介绍将 GDELT 数据通过 GeoMesa 上传到 HBase ~

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

宇凌喵 微信支付

微信支付

宇凌喵 支付宝

支付宝