geowave+geoserver+hbase安裝部署匯入shapefile並可視化
本文參考了: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了