17.1. Installing GeoMesa Kudu¶
GeoMesa currently supports Kudu version 1.7.x.
17.1.1. Installing the Binary Distribution¶
GeoMesa Kudu artifacts are available for download or can be built from source. The easiest way to get started is to download the most recent binary version (2.3.0-SNAPSHOT) from GitHub.
Extract it somewhere convenient:
# download and unpackage the most recent distribution: $ wget "https://github.com/locationtech/geomesa/releases/download/geomesa_2.11-$VERSION/geomesa-kudu_2.11-$VERSION-bin.tar.gz" $ tar xvf geomesa-kudu_2.11-$VERSION-bin.tar.gz $ cd geomesa-kudu_2.11-$VERSION $ ls bin/ conf/ dist/ docs/ examples/ lib/ LICENSE.txt logs/
17.1.2. Building from Source¶
GeoMesa Kudu may also be built from source. For more information refer to Building from Source
in the developer manual, or to the
README.md file in the the source distribution.
The remainder of the instructions in this chapter assume the use of the binary GeoMesa Kudu
distribution. If you have built from source, the distribution is created in the
target directory of
More information about developing with GeoMesa may be found in the Developer Manual.
17.1.3. Setting up the Kudu Command Line Tools¶
GeoMesa comes with a set of command line tools for managing Kudu features located in
geomesa-kudu_2.11-$VERSION/bin/ of the binary distribution.
In order to run distributed ingest from the command-line tools, Hadoop must be available on the classpath.
By default, GeoMesa will attempt to read Hadoop related environment variables to build the classpath. You can
configure environment variables and classpath settings in
geomesa-kudu_2.11-$VERSION/conf/geomesa-env.sh or in your external env (e.g. bashrc file). The logic GeoMesa
uses to determine which external entries to include on the classpath is:
1. If the environmental variable
GEOMESA_HADOOP_CLASSPATHis set then GeoMesa will use it as the classpath and skip all other logic.
2. Next, if
$HADOOP_HOMEis set then GeoMesa will attempt to build the classpath by searching for JAR and configuration files in standard locations. Note that this is very specific to the installation or distribution of Hadoop you are using and may not be reliable.
3. If no environmental variables are set but the
hadoopcommand is available then GeoMesa will generate the classpath by running
hadoop classpath. This method of classpath determination may be slow, so it is recommended that you manually set these variables in your environment or the
If installing on a system without Hadoop, the
install-hadoop.sh scripts in the
bin directory may be used to
download the required Hadoop JARs into the
lib directory. You should edit this script to match the versions
used by your installation.
geomesa-kudu will pull any additional entries from the
Note that the
GEOMESA_HADOOP_CLASSPATH variables both follow standard
Java Classpath conventions, which
generally means that entries must be directories, JAR, or zip files. Individual XML files will be ignored. For example,
to add a
core-site.xml file to the classpath you must either include a directory on the
classpath or add the file to a zip or JAR archive to be included on the classpath.
geomesa-kudu classpath command in order to see what JARs are being used.
Due to licensing restrictions, dependencies for shape file support must be separately installed. Install them with the following scripts:
$ bin/install-jai.sh $ bin/install-jline.sh
If desired, you may use the included script
bin/geomesa-kudu configure to help set up the environment variables
used by the tools. Otherwise, you may invoke the
geomesa-kudu script using the fully-qualified path, and
use the default configuration.
See Logging Configuration for information about configuring the SLF4J implementation.
Test the command that invokes the GeoMesa Tools:
$ bin/geomesa-kudu INFO Usage: geomesa-kudu [command] [command options] Commands: ...
For more details, see Using the Kudu Command-Line Tools.
17.1.4. Installing GeoMesa Kudu in GeoServer¶
GeoMesa 2.2.0 and later require GeoServer 2.14.0 or later. GeoMesa 2.1.0 and earlier require GeoServer 2.12.5.
The Kudu GeoServer plugin is bundled by default in a GeoMesa binary distribution. To install, extract
$GEOMESA_KUDU_HOME/dist/gs-plugins/geomesa-kudu-gs-plugin_2.11-$VERSION-install.tar.gz into GeoServer’s
Restart GeoServer after the JARs are installed.