本文参考了:https://www.linkedin.com/pulse/testing-big-spatial-data-software-hadoop-hbase-geowave-alvaro-huarte/
以及geowave的官方文档。并成功在geoserver发布了地图服务。效果见图:
接下来说一下安装步骤:
一:安装jdk, hadoop, hbase
这个网上教程很多,这里就省略了,只要是geowave支持的版本都可以。
我使用的是jdk8, hadoop-2.6.5, hbase-1.2.3
在测试环境中hadoop和hbase都是伪分布式,默认端口没有修改。
这一步结束的时候可以用hbase的shell确认一下create scan等操作是否成功,成功就没问题了。
二:安装geoserver和plugin
geoserver从官网上下载就好了,这里我直接用的geoserver-2.12.1的bin包,解压即可。
我从geowave官网上下载了jar包(当然rpm或者你自己编译也可以,我觉得jar包离线更方便),下载地址:locationtech.github.io/geowave/packages.html
下载到geowave-geoserver-0.9.7-apache.jar文件,将它拷到 /你的geoserver路径/webapps/geoserver/WEB-INF/lib下
此时启动geoserver, 打开浏览器进入 localhost:8080/geoserver/web 登录geoserver。默认帐号admin,密码geoserver。
在左侧data栏目下store, 点击add new store可以看到geowave插件已经加载了。
三:安装geowave
官网上推荐rpm安装。我用的是release jar,直接从locationtech.github.io/geowave/packages.html下载geowave-tools-0.9.7-apache.jar
如果你觉得之后运行java -cp jar包 类名很蠢的话,就去设置一个环境变量吧(可参考最开头的文章链接),我先不设,直接进行下面的步骤了。
如果使用hbase,还需要把geowave-hbase-0.9.7-apache.jar拷到hbase的lib里面。
四:利用geowave将shp导入hbase并将该store添加到geoserver中:
测试数据可以利用这个:
http://naciscdn.org/naturalearth/50m/cultural/ne_50m_admin_0_countries.zip
1.查看版本
切换到你把之前jar包的下载目录,输入
java -cp ./geowave-tools-0.9.7-apache.jar mil.nga.giat.geowave.core.cli.GeoWaveMain --version
应该就可以看到你的geowave版本。
2.建立空间索引
java -cp ./geowave-tools-0.9.7-apache.jar mil.nga.giat.geowave.core.cli.GeoWaveMain config addindex -t spatial eea-spindex --partitionStrategy ROUND_ROBIN
3.在hbase里面建立geowave的store
java -cp ./geowave-tools-0.9.7-apache.jar mil.nga.giat.geowave.core.cli.GeoWaveMain config addstore eea-store --gwNamespace geowave.eea -t hbase --zookeeper localhost:2181
注意最后的端口,如果你修改过hbase的zookeeper记得修改
4.将本地shp导入刚刚建立的store
java -cp ./geowave-tools-0.9.7-apache.jar mil.nga.giat.geowave.core.cli.GeoWaveMain ingest localtogw -f geotools-vector ./ne_50m_admin_0_countries.shp eea-store eea-spindex
文件名不要弄错了
5.配置geoserver连接
java -cp ./geowave-tools-0.9.7-apache.jar mil.nga.giat.geowave.core.cli.GeoWaveMain config geoserver -ws geowave -u admin -p geoserver http://localhost:8080/geoserver
根据自己配置,后面的参数按需修改
6.利用geowave给geoserver添加layer
java -cp ./geowave-tools-0.9.7-apache.jar mil.nga.giat.geowave.core.cli.GeoWaveMain gs addlayer eea-store
至此就完成了全部操作,可以在geoserver里面查看发布的layer了
---------------------
作者:sinat_35582093
来源:CSDN
原文:https://blog.csdn.net/sinat_35582093/article/details/80182019
版权声明:本文为博主原创文章,转载请附上博文链接!