首页 > 解决方案 > GeoServer 无法从 Redis 池中获取资源

问题描述

我想使用GeoMesa将数据存储到数据存储(例如 Redis)中,并使用GeoServer可视化/发布这些数据。

我用 Java 开发了一个接口(以及实现这个接口的类)来将数据存储在 Redis 服务器中。然后,安装了插件“GeoServer with Redis”。因此,当我添加一个新的矢量数据源时,GeoServer 为我提供了“Redis (GeoMesa)”选项。在 GeoServer 中提交此新数据源的参数时出现错误。我在Redis中存储数据前后都试了一下,结果是一样的。Redis 是由官方 Docker 镜像安装的。

创建数据的参数

redis.url='localhost:6379'
redis.catalog='geomesa'
redis.connection.pool.size='16'
geomesa.query.threads='8'
geomesa.query.timeout=''
redis.pipeline.enabled=FALSE
redis.connection.pool.validate=TRUE
geomesa.stats.enable=TRUE
geomesa.query.audit=TRUE
geomesa.query.loose-bounding-box=FALSE
geomesa.query.caching=FALSE
geomesa.security.auths=''
geomesa.security.auths.force-empty=TRUE

GeoServer 打印此输出:创建数据存储时出错,请检查参数。错误消息:无法从池中获取资源

不幸的是,我无法访问堆栈跟踪。

标签: redisgeoserverjedisgeomesa

解决方案


您确定您的 Redis 实例可以在 上访问localhost:6379吗?您是否正在运行 Redis 5+(GeoMesa 是针对 Redis 5 开发的)?

您可以尝试运行 Redis GeoMesa快速入门,这将消除 GeoServer 的任何潜在问题,并且还应该向您显示堆栈跟踪。


推荐阅读