1. 程式人生 > >geowave+geoserver+hbase安裝部署匯入shapefile並可視化

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了