16.1. 安装GeoMesa Cassandra

备注

GeoMesa目前支持Cassandra版本 3 。

备注

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

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

16.1.1. 正在连接到Cassandra

开始使用Cassandra和GeoMesa的第一步是安装Cassandra本身。您可以找到下载和安装Cassandra Online的好方法。例如,请参阅Cassandra的官方 getting started 文件。

一旦安装了Cassandra,下一步就是准备Cassandra安装,以便与GeoMesa集成。首先,在Cassandra内创建一个密钥空间。要做到这一点,最简单的方法 cqlsh ,它本应作为Cassandra安装的一部分进行安装。开始 cqlsh ,然后键入::

CREATE KEYSPACE mykeyspace WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor' : 3};

这将创建一个名为“mykeyspace”的密钥空间。这是Cassandra内部的顶级名称空间,它将为GeoMesa提供一个放置其所有数据的地方,包括空间要素数据和相关元数据。

接下来,您需要将 CASSANDRA_HOME 环境变量。GeoMesa使用这个变量来查找Cassandra罐子。这些罐子应该放在 lib 您的Cassandra安装的目录。要设置变量,请将以下行添加到您的 .profile.bashrc 文件::

export CASSANDRA_HOME=/path/to/cassandra

最后,确保您知道Cassandra实例的联系点。如果您只是在本地尝试,并使用默认的Cassandra设置,则联系点将为 127.0.0.1:9042 。您可以使用检查和配置您正在使用的端口 native_transport_port 在Cassandra配置文件(位于 conf/cassandra.yaml 在您的Cassandra安装目录中)。

16.1.2. 从二进制分发安装

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

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

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

16.1.3. 从源开始构建

GeoMesa Cassandra也可以从源头上建造。有关详细信息,请参阅上的说明 GitHubGitHub 。本章剩余的说明假定使用二进制GeoMesa Cassandra分布。如果您是从源代码构建的,则在 target 目录号 geomesa-cassandra/geomesa-cassandra-dist

16.1.4. 设置Cassandra命令行工具

GeoMesa Cassandra附带了一组命令行工具,用于管理位于 geomesa-cassandra_${VERSION}/bin/ 二进制分布的。

备注

您可以在中配置环境变量和类路径设置 geomesa-cassandra_${VERSION}/conf/*-env.sh

备注

geomesa-cassandra 会读到 $CASSANDRA_HOME$HADOOP_HOME 环境变量为Cassandra和Hadoop加载适当的JAR文件。此外, geomesa-cassandra 会将所有其他JAR从 $GEOMESA_EXTRA_CLASSPATHS 环境变量添加到类路径中。使用 geomesa-cassandra classpath 命令,以查看正在使用的是什么JAR。

如果您没有在本地安装Cassandra,那么在您第一次运行这些工具时,它会提示您下载必要的JAR。您也可以使用随发行版提供的脚本手动执行此操作:

$ ./bin/install-dependencies.sh

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

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

geomesa-cassandra 没有论据来确认这些工具是有效的。

$ bin/geomesa-cassandra

输出应如下所示::

INFO  Usage: geomesa-cassandra [command] [command options]
  Commands:
  ...

16.1.5. 在Geoserver中安装GeoMesa Cassandra

警告

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

GeoMesa Cassandra发行版包括一个Geoserver插件,用于在Geoserver中包含Cassandra数据存储。插件文件位于 dist/gs-plugins/geomesa-cassandra-gs-plugin_${VERSION}-install.tar.gz 归档在GeoMesa Cassandra分发目录中。

要安装插件,请解压缩归档文件并将内容复制到 WEB-INF/lib Geoserver安装目录::

.. code-block:: bash
$tar-xzvf

Geomesa-cassandra_${VERSION}/dist/gs-plugins/geomesa-cassandra-gs-plugin_${VERSION}-install.tar.gz-C/path/to/geoserver/webapps/geoserver/WEB-INF/lib

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

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

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

安装JAR后重新启动Geoserver。