Installation and Compilation

The following installation instructions are intended for developers who want to use Aperture Tiles to build their own custom applications. The complete installation process requires several third-party tools and access to the Aperture Tiles source code.

For developers who want to quickly install a pre-configured example Aperture Tiles application with minimal modification, a set of packaged distributions are available as an alternative.

Supported Platforms

Aperture Tiles is compatible with Linux and OS X.

Compatibility for Windows is available through Cygwin or the DOS command prompt. Note however, that this platform is not compatible with Hadoop/HBase.

To use Aperture Tiles with Apache Spark in standalone mode in Windows
  • Download and install a pre-built version of Apache Spark with the following properties:
    1. Spark release: 1.3.0
    2. Package type: Pre-built for Hadoop 2.4

Prerequisites

Aperture Tiles requires the following third-party tools:

Component Required Notes
Languages Scala v2.10.3
Java (JDK v1.7+)
Cluster Computing Framework Apache Spark
v1.3
Specify the version of Hadoop with which Spark will be working (if applicable).

Spark may cause class path issues if you compile from source code. We recommend using a pre-built Spark package.

Build Automation Node.js The Node.js Windows installer has a known issue where it fails to install the following directory. To work around this issue, create the directory manually.

C:\Users\<UserName>\AppData\Roaming\npm

Web Server Apache Tomcat or Jetty The Tile Server and Tile Client, built using the Restlet web framework, require a servlet-compatible web server.

If you intend to work with datasets that cannot fit in the memory of a single machine or if you wish to avoid wait times, we recommend you also install the following tools to enable Aperture Tiles to work with particularly large datasets.

Component Required Notes
Cluster Computing Framework A Hadoop distribution: Some Hadoop distributions automatically install Apache Spark. Upgrade to v1.3 if the installation is older.

Aperture Tiles Architecture Diagram

Complete Install

Source Code

The source code repository for Aperture Tiles is available on GitHub.

To work with the most recent stable release of the Aperture Tiles source code
  1. Clone the Aperture Tiles repository to an aperture-tiles/ directory in your Git project folder:

    git clone https://github.com/unchartedsoftware/aperture-tiles.git
    
  2. Check out the master branch:

    git checkout master
    

Building the Project

Once you have cloned the Aperture Tiles repository, you can build the project.

  1. Specify your Hadoop/HBase version (if applicable)
  2. Compile Aperture Tiles

Specifying Your Hadoop/HBase Version

NOTE: If you plan to run Apache Spark only in standalone mode on single machine, you can skip this step.

Prior to building the project, you must specify which version of Hadoop and/or HBase you have installed (if applicable):

  1. Review the Deployment Variants section of the build.gradle file in aperture-tiles/ to check for valid settings for your version.
  2. If your version is not included, build a new case for it. See the comments in the file for more details.

Compiling the Aperture Tiles Projects

Aperture Tiles builds with Gradle.

To install Gradle and build Aperture Tiles
  • Execute the following command in your root Aperture Tiles directory:

    gradlew install -PbuildType=<buildType>
    

    Where:

    Sub-Project Description
    buildType A case in the build.gradle file that specifies which versions of Hadoop/HBase and Spark you are using (e.g., cdh5.1.2).

    If you do not specify a buildType, the default value (cdh5.4.7) in aperture-tiles/gradle.properties is used.

This will compile all the project components and install .jar files for each project into a local Gradle repository on your build machine.

Project Structure

Aperture Tiles is made up of the following sub-projects:

Sub-Project Description
math-utilities Basic, underlying Java utilities (for angles, linear algebra and statistics) to aid in processing data.
geometric-utilities Advanced math utilities for processing geometry and geographic problems.
binning-utilities Basic substrate of tiling, bin data structures, bin processing and basic bin storage classes.
factory-utilities Factory system to allow construction and configuration of generic objects.
tile-generation Spark-based tools to generate tile pyramids from raw data.
tile-rendering Library that handles turning tile data into useful output formats, generally graphical.
tile-service Web service to serve tiles from tile pyramids to web clients.
spark-tile-utilities Optional services for allowing the tile server to communicate directly with Spark.
annotation-service Optional services for adding annotations to Aperture Tiles visualizations.
tile-client Simple web client to display tiles from tile pyramids.
tile-packaging Packaged assembly of the tile generation service for the Quick Start example on this site.
tile-examples Example applications.
gradle Gradle build system support.
docs Source files for the documentation on this website.

Packaged Distributions

The Aperture Tiles packaged distributions are intended for use with the Quick Start example workflow. These distributions require a subset of the complete installation prerequisites.

Prerequisites

The packaged distributions of Aperture Tiles require only a subset of the prerequisites for complete installations.

To install the prerequisites for the packaged distributions
  1. Install Apache Spark.
  2. If you want to understand how Aperture Tiles works with particularly large datasets, install your preferred flavor of Hadoop:

Download the Distributions

The Aperture Tiles packaged distributions enable you to create a sample Aperture Tiles application that explores a Julia set fractal visualization.

To download the packaged distributions
  1. Download and save the following files:
  2. Extract the contents of each file to your local machine.
  3. See the Quick Start topic for information on configuring each packaged distribution.

Next Steps

For a guide on quickly configuring and deploying an example Aperture application, see the Quick Start topic.