Giter VIP home page Giter VIP logo

vagrant.geotrellis's Introduction

vagrant.geotrellis

A vagrant environment for doing GeoTrellis development.

Vagrant and ansible must be installed.

Overview

This repository can be used to set up a virtual machine environment to develop on GeoTrellis using Vagrant. The virtual machine will include GeoTrellis, Spark, HDFS, ZooKeeper, and Accumulo.

Installation Requirements

In order to get started with this virtual machine, some software must be installed on the host machine and the host machine must support virtualization.

Software

Vagrant

Vagrant (version >= 1.7.2) is required on the host to manage the virtual machine. Binaries are available for most operating systems.

Ansible

Ansible (version >= 1.8.2) is required to handle configuration of the virtual machine. Ansible is officially supported for Mac OSX and Linux host environments, though it can be used with a Windows host machine. There are multiple ways to install Ansible, choose the most appropriate one for your operating system.

VirtualBox

VirtualBox is an open source virtual software package used to handle virtual machines. There are binaries available for most operating systems.

Note: It is also possible to run the virtual machine using a Kernel Based Virtual Machine on Linux. This can be done using the Vagrant Libvirt Provider. Vagrant Libvirt is still under active development and there are additional requirements if KVM is used.

Git

Git is used for version control. It is necessary to use Git to download the GeoTrellis code and submit patches for development.

Sytem Requirements

Your host machine should have at least 6GB of memory, a modern x86-64 processor, and virtualization support must be enabled for the processor being used.

Getting Started

  1. Clone this repository.

    git clone https://github.com/geotrellis/vagrant.geotrellis.git

    Note: If you wish to submit patches to this repository, you should consider forking this repository.

  2. Install required software listed above

  3. Fork GeoTrellis

  4. Navigate into the directory created by cloning vagrant.geotrellis

  5. Clone GeoTrellis from your forked repository.

    At this point, the directories in the vagrant.geotrellis directory should look like this.

    vagrant.geotrellis
    ├── ansible
    ├── geotrellis
    ├── README.md
    └── Vagrantfile
    
  6. Determine the appropriate folder syncing option by setting the VAGRANT_GEOTRELLIS_SYNC environment variable

    • For Linux and Mac OSX, NSF is likely the best option
    • For Windows, consider using rsync

    Rsync requires an extra process to be run to sync folders when developing, but has huge performance benefits compared to other options. This will greatly speed up compiling and running GeoTrellis since build products will not need to be synced back and forth between your guest and host machine.

Value Sync Folder Type
nfs NFS
rsync RSYNC
OS Default
  1. In the top level directory with the Vagrantfile bring up the virtual machine at the command line.

    vagrant up

    At this point Vagrant will start the virtual machine and begin provisioning it with Ansible. Depending on internet connection speeds, installation and downloading of all dependencies could take some time.

  2. Once the machine finishes provisioning, you can verify that Accumulo and HDFS are running by navigating to their web UIs.

  3. If using the RSync shared folder option, start the vagrant rsync process to ensure your changes in the GeoTrellis code get synced to the virtual machine vagrant rsync-auto

  4. Once finished, you can ssh into the machine, navigate to the GeoTrellis directory, and start hacking on GeoTrellis.

vagrant ssh
cd /home/vagrant/geotrellis/

vagrant.geotrellis's People

Contributors

lossyrob avatar notthatbreezy avatar

Watchers

James Cloos avatar BuddhikaDilhan  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.