13.4. Using the FileSystem Data Store in GeoServer¶
Note
For general information on working with GeoMesa GeoServer plugins, see GeoServer Plugins.
13.4.1. Installing the FileSystem Data Store Plugin¶
The FileSystem GeoServer plugin is bundled by default in a GeoMesa FS binary distribution. To install, extract
$GEOMESA_FS_HOME/dist/gs-plugins/geomesa-fs-gs-plugin_2.11-$VERSION-install.tar.gz
into GeoServer’s
WEB-INF/lib
directory. Note that this plugin contains a shaded JAR with Parquet 1.9.0
bundled. If you require a different version, modify the pom.xml
and build the GeoMesa FileSystem geoserver plugin
project from scratch with Maven.
This distribution does not include the Hadoop JARs; the following JARs should be copied from the lib
directory of
your Hadoop installations into GeoServer’s WEB-INF/lib
directory:
(Note the versions may vary depending on your installation.)
- hadoop-annotations-2.7.3.jar
- hadoop-auth-2.7.3.jar
- hadoop-common-2.7.3.jar
- hadoop-mapreduce-client-core-2.7.3.jar
- hadoop-yarn-api-2.7.3.jar
- hadoop-yarn-common-2.7.3.jar
- commons-configuration-1.6.jar
You can use the bundled $GEOMESA_FS_HOME/bin/install-hadoop.sh
script to install these JARs.
The FileSystem data store requires the configuration file core-site.xml
to be on the classpath. This can
be accomplished by placing the file in geoserver/WEB-INF/classes
(you should make the directory if it
doesn’t exist). Utilizing a symbolic link will be useful here so any changes are reflected in GeoServer.
$ ln -s /path/to/core-site.xml /path/to/geoserver/WEB-INF/classes/core-site.xml
Restart GeoServer after the JARs are installed.
13.4.2. Adding a new Data Store in GeoServer¶
From the main GeoServer page, create a new store by either clicking “Add stores” in the middle of the Welcome page, or anywhere in the interface by clicking “Data > Stores” in the left-hand menu and then clicking “Add new Store”.
If you have properly installed the GeoMesa FileSystem GeoServer plugin as described above “FileSystem (GeoMesa)” should be included in the list under Vector Data Sources. If you do not see this, check that you unpacked the plugin JARs into in the right directory and restart GeoServer.
On the “Add Store” page, select “FileSystem (GeoMesa)”. The data store requires two parameters:
- fs.encoding - the encoding of the files you have stored (e.g. parquet)
- fs.path - the path to the root of the datastore (e.g. s3a://mybucket/datastores/testds)
Click “Save”, and GeoServer will search the filesystem path for any GeoMesa-managed feature types.