在 Geoserver 中安装 Cassandra (GeoMesa) 存储

问题描述 投票:0回答:1

我希望能够在 GeoServer 中创建 Cassandra (GeoMesa) 存储。这就是我所做的:

第 1 步:我在 Docker Desktop 中成功拉取并启动了

docker pull oscarfonts/geoserver:2.22.2
。我可以在公开端口 http://localhost:32781/geoserver/index.html 上访问 Geoserver Web 界面。使用 Geoserver v2.22.2 是因为 GeoMesa 文档提到它是受支持的版本:https://www.geomesa.org/documentation/stable/user/geoserver.html。 Cassandra (GeoMesa) 矢量数据源不可用,因为我们尚未安装该插件。

第 2 步:我下载 GeoMesa Cassandra 插件 v4.0.4 并将其提取到 Docker 容器中。我继续按照官方在 GeoServer 中安装 GeoMesa Cassandra 指南执行以下命令行:

# find / -wholename *geoserver/WEB-INF/lib /usr/local/geoserver/WEB-INF/lib # find / -name install-dependencies.sh /home/geomesa-cassandra_2.12-4.0.4/bin/install-dependencies.sh # /home/geomesa-cassandra_2.12-4.0.4/bin/install-dependencies.sh /usr/local/geoserver/WEB-INF/lib Reading dependencies from /home/geomesa-cassandra_2.12-4.0.4/conf/dependencies.sh All required dependencies already exist in /usr/local/geoserver/WEB-INF/lib // I get this because I already installed it before

第3步:我还使用了manage-geoserver-plugins.sh

脚本。但是,即使 gs-plugins 文件夹中充满了 jar,列表中也没有显示任何 jar 

# ./manage-geoserver-plugins.sh /usr/local/geoserver/WEB-INF/lib /home/geomesa-cassandra_2.12-4.0.4/dist/gs-plugins --install Collecting Installed Jars Collecting geomesa-gs-plugin Jars Please choose which modules to install Multiple may be specified, eg: 1 2 5 Type 'a' to specify all -------------------------------------- Module(s) to install: a Done

第4步:我执行了geomesa-cassandra configure

脚本

# ./geomesa-cassandra configure Current configuration: GEOMESA_CASSANDRA_HOME=/home/geomesa-cassandra_2.12-4.0.4 GEOMESA_LIB=/home/geomesa-cassandra_2.12-4.0.4/lib GEOMESA_LOG_DIR=/home/geomesa-cassandra_2.12-4.0.4/logs Is this correct (y/n)? y To put geomesa-cassandra on the executable path, add the following line to your environment: export GEOMESA_CASSANDRA_HOME="/home/geomesa-cassandra_2.12-4.0.4" export GEOMESA_LIB="/home/geomesa-cassandra_2.12-4.0.4/lib" export GEOMESA_LOG_DIR="/home/geomesa-cassandra_2.12-4.0.4/logs" export PATH=${GEOMESA_CASSANDRA_HOME}/bin:$PATH Register auto-complete for GeoMesa CLI commands (y/n)? y Enter path to .bash_completion (deault ~/.bash_completion): #

第5步:重新启动容器,我仍然看不到Cassandra(GeoMesa)作为Geoserver中可能的矢量数据源。

我哪里出错了?谢谢!

geoserver geomesa
1个回答
0
投票
Docker 使用虚拟文件系统,当容器重新启动时,对其所做的任何更改都会丢失。由于 GeoServer 进程可能与容器根进程相关联,因此不可能在不丢失更改的情况下重新启动 GeoServer。您可能必须使用在 GeoMesa Cassandra jar 中添加的新层来扩展该 docker 映像。

GeoServer 实际上很容易在 docker 之外运行。您可以在

GeoServer Archive 获取它。您需要做的就是下载独立于平台的二进制文件,解压 zip,将 GeoMesa Cassandra jar 添加到 webapps/geoserver/WEB-INF/lib/

 并使用 
bin/startup.sh
 启动 GeoServer。

© www.soinside.com 2019 - 2024. All rights reserved.