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_HOME
和 ZOOKEEPER_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。