Skip to content
This repository has been archived by the owner on Feb 10, 2019. It is now read-only.
/ flokkr-runtime-nomad Public archive

Examples to run Hadoop/Spark cluster with Hashicorp nomad and consul.

Notifications You must be signed in to change notification settings

elek/flokkr-runtime-nomad

Repository files navigation

!Archived!

This project is archived. Originally it was part of the https://github.com/flokkr project, but it's no longer maintained.











Hadoop cluster with nomad

Ansible and terraform scripts to install hadoop cluster based on flokkr docker images.

Attributes

Topic Solution
Configuration management
Source of config files: Consul server (envtoconf can't be used as nomad can't use non-regular env variables)
Configuration preprocessing: consync (Upload configuration to the consul server)
Automatic restart on config change: Supported by the consul plugin of the baseimage. Listens on changes on the consul side
Provisioning and scheduling
Multihost support Yes. Nomad agents should run everywhere
Requirements on the hosts Consul and Nomad agents
Definition of the containers per host Nomad job descriptors
Scheduling (find hosts with available resource) Yes, fine-grained constraint rules
Failover on host crash N/A
Scale up/down: With mondifying the Nomad job specifications
Multi tenancy (multiple cluster) NO (Host network)
Network
Network between containers Host network
DNS Yes, handled by the OS/Cloud environment (Host network)
Service discovery Required for flexible scheduling (Consul based)
Data locality Yes, Full
Availability of the ports All of them are available (Host network)

Getting started

You need a cluster. use terraform or any other tool to start it.

Prerequisits

Configuration

Configuration is stored in consul and downloaded by every docker image.

First you need a configuration set:

git clone https://github.com/flokkr/configuration.git

You should install the configuration upload (which uploads the configuration with additional preprcessing:

go get github.com/flokkr/consync

And now you can upload the configuration:

consync -dir ~/projects/flokkr/configuration -consul node-1 -discovery consul

Where node-1 is the hostname of a consul node

Nomad

Now you can start the images with

export NOMAD_ADDR=http://node-1:4646

And finally:

./apply.sh namenode.nomad
...

Note: apply.sh is a short script to do client side templating using the sigil utility.

About

Examples to run Hadoop/Spark cluster with Hashicorp nomad and consul.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages