我想用GeoMesa将数据存储到数据存储(例如Redis)中,并用GeoServer可视化/发布此数据。
我开发了一个界面(以及实现该接口的类)来将数据存储在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将打印以下输出:创建数据存储时出错,请检查参数。错误消息:无法从池中获取资源
不幸的是,我没有访问堆栈跟踪的权限。
2条答案
按热度按时间ttygqcqt1#
您确定您的Redis示例可以在
localhost:6379
上访问吗?您运行的是Redis 5+(GeoMesa是针对Redis 5开发的)吗?您可以尝试通过Redis GeoMesa quickstart运行,这将消除GeoServer的任何潜在问题,并且还会显示一个堆栈跟踪。
uxh89sit2#
我也遇到过类似的问题。但是,我的Geoserver和Redis环境都是停靠的,并在VB Ubuntu虚拟机中运行。
首先,我将我的redis端口转发到我的主机IP。然后,我将geoserver redis URL指向我的主机IP地址,而不是127.0.0.1或localhost。这就解决了我的问题。
如果使用您的主机IP地址也适用于任何人,请让我们知道。