17.1. 安装GeoMesa Kafka

备注

GeoMesa目前支持Kafka versions 2.0 and later 。

备注

以下示例要求在环境中设置版本:

$ export TAG="4.0.2"
$ export VERSION="2.12-${TAG}" # note: 2.12 is the Scala build version

17.1.1. 从二进制分发安装

GeoMesa Kafka文物可以下载,也可以从源代码构建。最简单的入门方法是从下载最新的二进制版本 GitHub.

下载并将其解压到方便的位置:

# download and unpackage the most recent distribution:
$ wget "https://github.com/locationtech/geomesa/releases/download/geomesa-${TAG}/geomesa-kafka_${VERSION}-bin.tar.gz"
$ tar xvf geomesa-kafka_${VERSION}-bin.tar.gz
$ cd geomesa-kafka_${VERSION}

17.1.2. 从源开始构建

GeoMesa Kafka也可以从源头上构建。有关详细信息,请参阅上的说明 GitHub 。本章剩余的说明假定使用二进制GeoMesa分布。

如果您是从源代码构建的,则Kafka发行版将在 target 的目录 geomesa-kafka/geomesa-kafka-dist 模块。

17.1.3. 设置Kafka命令行工具

GeoMesa附带了一组用于管理Kafka功能的命令行工具。在Kafka发行版中,这些工具位于 geomesa-kafka_${VERSION}/bin/

如果环境变量 KAFKA_HOMEZOOKEEPER_HOME ,则GeoMesa将从这些位置加载适当的JAR和配置文件,不需要进一步的配置。否则,在您第一次调用这些工具时,系统将提示您下载适当的JAR。环境变量可以在 conf/*-env.sh 和依赖项版本可以在 conf/dependencies.sh

GeoMesa还提供了使用环境变量将其他JAR添加到类路径的功能 $GEOMESA_EXTRA_CLASSPATHS 。GeoMesa会将此环境变量的内容添加到计算的类路径中,从而使其在类路径中具有最高的优先级。用户可以使用冒号提供JAR文件或单个文件的目录 (: )作为分隔符。这些条目还将添加到map-create libjars变量中。

由于许可限制,必须单独安装形状文件支持的从属项。使用以下命令执行此操作:

$ ./bin/install-shapefile-support.sh

测试调用GeoMesa工具的命令:

$ geomesa-kafka

输出应如下所示::

Usage: geomesa-kafka [command] [command options]
  Commands:
    ...

17.1.4. 在Geoserver中安装GeoMesa Kafka

警告

看见 Geoserver版本 以确保Geoserver与您的GeoMesa版本兼容。

17.1.4.1. 安装Geoserver

如第节所述 GeoMesa和Geoserver ,GeoMesa实现了一个 GeoTools -兼容数据存储。这使得将GeoMesa Kafka用作中的数据存储成为可能 GeoServer 。Geoserver的网站包括 installation instructions for GeoServer

Geoserver运行后,您还需要将WPS插件安装到Geoserver实例中。Geoserver WPS插件必须与Geoserver实例的版本匹配。Geoserver网站包含下载和安装说明 the WPS plugin

备注

如果使用Tomcat作为Web服务器,则很可能需要传递一些自定义选项:

export CATALINA_OPTS="-Xmx8g -XX:MaxPermSize=512M -Duser.timezone=UTC \
-server -Djava.awt.headless=true"

的价值 -Xmx 应该尽可能大到您的系统允许的范围;这对于Kafka插件来说尤其重要。确保重新启动Tomcat以使更改生效。

17.1.4.2. 安装GeoMesa Kafka数据存储

要安装GeoMesa数据存储,请提取 geomesa-kafka-gs-plugin_${VERSION}-install.tar.gz 文件放入 geomesa-kafka_${VERSION}/dist/gs-plugins/ 在二进制分布中或 geomesa-kafka/geomesa-kafka-gs-plugin/target/ 放入您的Geoserver的 lib 目录:

$ tar -xzvf \
  geomesa-kafka_${VERSION}/dist/gs-plugins/geomesa-kafka-gs-plugin_${VERSION}-install.tar.gz \
  -C /path/to/geoserver/webapps/geoserver/WEB-INF/lib

接下来,为卡夫卡和ZooKeeper安装罐子。默认情况下,将从Maven Central下载JAR。您可以通过设置环境变量来覆盖此设置 GEOMESA_MAVEN_URL 。如果您没有互联网连接,您可以手动下载JAR。

编辑文件 geomesa-kafka_${VERSION}/conf/dependencies.sh 要设置Kafka和ZooKeeper的版本以匹配目标环境,然后运行脚本:

$ ./bin/install-dependencies.sh /path/to/geoserver/webapps/geoserver/WEB-INF/lib

警告

确保GeoMesa和Kafka的Scala版本匹配,以避免兼容性错误。

安装JAR后重新启动Geoserver。