geodocker-geomesa安装指南

    最近研究geopyspark原本以为大数据研究能告一段落,因为。。。

    开玩笑的,还要一起建设社会主义呢!!
### 背景
    geotrellis作为一个处理遥感数据的框架,对于遥感数据支持的很棒,但是对于矢量数据却有些不足,首先它的样式选择单一,不能像geoserver使用sld自定义出各种样式,其二就是对与矢量的支持稍弱。那为啥么要用geomesa呢?这个框架资料还是比较多的,支持矢量操作,geoserver支持,能提供WFS、WMS服务,所以还是比较看好的。
### 操作
    我们直接看看github地址,按照提示一步步来安装。下载项目,到geodocker-accumulo-geomesa,运行docker-compose(需要自行安装),下载数据(如http://data.gdeltproject.org/events/20170710.export.CSV.zip),拷贝数据到docker上,进入容器环境,执行导入数据命令,数据导入后会自动解析出geom,并建立索引
``` git clone https://github.com/geodocker/geodocker-geomesa.git cd geodocker-accumulo-geomesa; docker-compose up docker ps docker cp 2016.export.csv geodocker-accumulo-geomesa_accumulo-master_1:/tmp/2016.export.CSV docker exec -ti geodockeraccumulogeomesa_accumulo-master_1 /usr/bin/bash cd /opt/geomesa/bin $ ./geomesa-accumulo ingest -C example-csv -c example -u root -p GisPwd -s example-csv ../examples/ingest/csv/example.csv ```     按照github的说明就能成功了,然后打完收工。。。好吧事实没有那么理想,官网的镜像有坑,按照他们的方法会发现,根本导不进去数据,出现如下错误,缺jar了 ![](https://img2018.cnblogs.com/blog/900982/201812/900982-20181202221155147-2139364989.png) 原因是导入脚本有问题识别zookeeper.jar出现问题,会把指向具体zookeeper.jar的软连接和原来的zookeeper.jar识别出来(我也是请教了官方大佬才知道)     cd /opt/geomesa/bin执行后,使用vi geomesa-accumulo修改 ``` ZOOKEEPER_JAR="$(find -L $ZOOKEEPER_HOME -maxdepth 1 -type f -name *zookeeper*jar)" ```     为 ``` ZOOKEEPER_JAR="$(find -L $ZOOKEEPER_HOME -maxdepth 1 -type f -name *zookeeper*jar | head -n 1)" ```     接着就导入成功了 ![](https://img2018.cnblogs.com/blog/900982/201812/900982-20181202224857822-1163124748.png)     最后就是使用geoserver发布服务(http://localhost:9090/geoserver/web,admin:geoserver),根据以下的设置设置数据源,并发布服务。 * accumulo.instance.id = accumulo * accumulo.zookeepers = zookeeper * accumulo.user = root * accumulo.password = GisPwd * accumulo.catalog = geomesa.ingest ### 最后成果
    我分别使用了三份数据,数据量分别是88w、122w、288w,访问wms服务分别需要的时间为4.79s、6.04s、7.27s,速度还是很可观的,还有很大优化空间(目前是单机)。 ![](https://img2018.cnblogs.com/blog/900982/201812/900982-20181202222852806-1478907753.png) ![](https://img2018.cnblogs.com/blog/900982/201812/900982-20181202214837315-1743481646.png) ![](https://img2018.cnblogs.com/blog/900982/201812/900982-20181202214849139-1252960511.png) ![](https://img2018.cnblogs.com/blog/900982/201812/900982-20181202220803656-1709770673.png) PS:如果你是用linux导入数据可能会出现超时的现象,需要添加zookeeper超时设置,延长时间(https://github.com/geodocker/geodocker-geomesa/issues/8) ``` instance.zookeeper.timeout 15000 timeout limit for zookeeper ``` 参考链接: https://github.com/geodocker/geodocker-geomesa http://planet.qgis.org/planet/tag/geomesa/ https://www.geomesa.org/documentation/tutorials/geodocker-geomesa/geodocker-geomesa-local.html
posted @ 2018-12-02 23:36  polong  阅读(1674)  评论(0编辑  收藏  举报